JavaScriptにて画像をフルスクリーン表示する方法
JavaScriptにて画像をクリックするとフルスクリーン表示させたかった。ただの画像拡大ならLightbox系ライブラリを導入するが、フルスクリーン表示ということだったので他のライブラリを検討しようかと思いきや、Web APIで簡単に対応できるみたい。以下にサンプルとソースコードをメモ。
サンプル
https://taitan916.info/sample/fullscreen/
画像をクリックするとフルスクリーン表示、再度クリックすると通常表示に戻る筈。
対応方法
ソースコード
<style>
.fullscreen{
display: flex;
}
img{
width: 200px;
height: 200px;
margin: 10px;
cursor: pointer;
}
</style>
<div class="fullscreen">
<img src="/sample/assets/img/001.jpg" class="img">
<img src="/sample/assets/img/002.jpg" class="img">
<img src="/sample/assets/img/003.jpg" class="img">
</div>
<script>
document.querySelector('.fullscreen').addEventListener(`click`, function(e){
if( e.target.matches('.img') ){
if( document.fullscreenElement === null ){
e.target.requestFullscreen();
}else{
document.exitFullscreen();
}
}
});
</script>
注意点
Fullscreen APIについてChrome / Edge / Firefoxは対応しており、safariは非対応な点に注意。
リファレンス
Fullscreen API
https://developer.mozilla.org/en-US/docs/Web/API/Fullscreen_API
Document: fullscreenElement property
https://developer.mozilla.org/en-US/docs/Web/API/Document/fullscreenElement
Element: requestFullscreen() method
https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullscreen
Document: exitFullscreen() method
https://developer.mozilla.org/en-US/docs/Web/API/Document/exitFullscreen
関連記事
-
-
「slick」でブラウザ幅がPCの場合はスライダーを表示し、スマホ幅の場合はスライダー無しにする方法
slickプラグインで画像スライダーを設置しているページがあり、PCのブラウザ幅 ...
-
-
Ajaxでプラグイン無しのファイルアップロード方法
画像ファイルを添付できて、尚且つAjaxを用いた非同期通信のフォームを作りたかっ ...
-
-
summernoteで画像選択時にサーバにファイルをアップロードする方法
summernoteで画像を選択した際、ファイルはアップロードされずBase64 ...
-
-
Gif画像に再生ボタンを設置し、ユーザーの操作により再生⇔停止が行える「gifffer」ライブラリの利用方法
あるページにGif画像を設置し、当該画像が表示されても自動再生させず、再生ボタン ...
-
-
Python3.9系&Tesseractを用いて画像をOCR処理する方法
以前にGASとDrive APIを組み合わせて画像をOCR処理する方法をメモした ...