勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

Lightboxで画像拡大時にダウンロードリンクを設置する方法

Lightboxで画像拡大時にダウンロードリンクを設置したいと要望を受けた。もちろんリンクをクリックすると表示されている画像がダウンロードされるという仕様。JavaScript / jQueryで処理を追加しないといけないかと思ったが、もっと簡単な方法で対応できた。以下に実装方法をメモ。

 

サンプル

https://taitan916.info/sample/lightbox2/download/

画像拡大時、左下にダウンロードのリンクが表示され、クリックするとダウンロードされる筈。Chrome / Edge / Firefoxで動作した。

 

対応方法

ソースコード

<style>
img{
    max-width: 200px;
}
</style>

<a href="../img/001.jpg" rel="lightbox" title="<a class='dl_link' href='../img/001.jpg' download>ダウンロード</a>">
    <img src="../img/001.jpg">
</a>

<script type="text/javascript" src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/lightbox2@2.11.5/dist/js/lightbox.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/lightbox2@2.11.5/dist/css/lightbox.min.css" rel="stylesheet">

 

所感

.dl_link部分をCSSで調整すれば使っていけそう。

 - jQuery JavaScript

  関連記事

画像アップロード前の時点で画像が選択されているか確認

やりたかった事は、フォーム内で画像をアップロードする際、 ちゃんと画像がローカル ...

ライブラリ等を使用せずファイルをドラッグ&ドロップでアップロードする方法

formにドラッグ&ドロップでファイルをアップロードする機能を実装する場 ...

jQueryのプラグインで簡単にイメージスライダーを作成(bxslider)

画像のスライダーを作る時に便利なプラグインであるbxslider。簡単に使えるし ...

jQueryで画像を遅延ロードする「jquery.lazyload.js」の利用方法

画像を遅延ロードさせたい時にはjQueryプラグインのlazyloadが便利。以 ...

jquery.snipeの使い方

使い方によっては面白くなりそう。 ■jquery.snipe http://ra ...