画像にマウスを合わせると拡大表示させる「drift」ライブラリの利用方法
amazon等ECサイトで商品画像にマウスを合わせると当該部分が拡大表示されるという機能をよく見かける。これを実装したいと要望を受けたため、実装方法を調べたところ「drift」というJavaScriptライブラリで対応できそう。以下にサンプルと実装方法をメモ。
サンプル
https://taitan916.info/sample/drift/
左側の画像にマウスを合わせると拡大画像が右側に表示される筈。
drift
GitHub
https://github.com/strawdynamics/drift
CDN
CDNで使う場合は以下を記述する。
<script src="https://cdnjs.cloudflare.com/ajax/libs/drift-zoom/1.5.1/Drift.min.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/drift-zoom/1.5.1/drift-basic.min.css">
異なるバージョンを利用したい場合は以下から探す。
https://cdnjs.com/libraries/drift-zoom/1.5.1
利用方法
ソースコード
<style>
.contents{
display: flex;
}
.zoom-image{
display: block;
width: 300px;
margin: 0 auto;
}
.zoom-image-area{
width: 40%;
}
.zoom-detail-area{
height: 500px;
width: 60%;
position: relative;
width: 65%;
}
</style>
<div class="contents">
<div class="zoom-image-area">
<img src="test.webp?w=400" data-zoom="test.webp?w=1200" class="zoom-image">
</div>
<div class="zoom-detail-area">
商品情報<br>
商品情報<br>
商品情報<br>
商品情報<br>
商品情報<br>
商品情報<br>
商品情報<br>
</div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/drift-zoom/1.5.1/Drift.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/drift-zoom/1.5.1/drift-basic.min.css">
<script>
new Drift(document.querySelector(`.zoom-image`), {
paneContainer: document.querySelector('.zoom-detail-area'),
zoomFactor: 4,
});
</script>
所感
ライブラリの利用自体は問題無いがCSSを色々指定しないといけないのがネックかも。
関連記事
-
-
JavaScriptにて「QRCode.js」ライブラリを利用してQRコードを生成する方法
PHPが使えない環境で動的にQRコードを生成したかった。以前にメモしたAPI等の ...
-
-
JavaScriptにて電子書籍や漫画ビューア用のライブラリ「ToraViewer」の利用方法
電子書籍や漫画ビューア用を設置したい。条件としてはレスポンシブ対応していること。 ...
-
-
Lightboxで画像拡大時にダウンロードリンクを設置する方法
Lightboxで画像拡大時にダウンロードリンクを設置したいと要望を受けた。もち ...
-
-
JavaScriptでデータをGzip等で圧縮できる「pako」ライブラリの利用方法
以前「zcookies」というライブラリの利用方法をメモしたが、当該ライブラリの ...
-
-
サイトをダークモード対応させる「Darkmode.js」ライブラリの利用方法
サイトをダークモード対応させる場合、CSSで色々指定しないといけないと思っていた ...