勉強したことのメモ

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

  関連記事

「slick」でスライダー中央の下部にのみ指定したコンテンツを表示する方法
「slick」でスライダー中央の下部にのみ指定したコンテンツを表示する方法

「slick」でスライダー画像の下部に何らかのコンテンツ(テキスト・リンク・別画 ...

summernoteのデフォルトの画像挿入時にCSSや任意の属性を指定する方法
summernoteのデフォルトの画像挿入時にCSSや任意の属性を指定する方法

summernoteのデフォルトの画像挿入時はBase64形式にエンコードされ、 ...

ajaxを使わずに非同期っぽくsubmitする
ajaxを使わずに非同期っぽくsubmitする

ajaxを使わずに見た目はページ遷移せず、 画像を含めたformをsubmitし ...

summernoteにギャラリーから画像を挿入する機能を追加する方法
summernoteにギャラリーから画像を挿入する機能を追加する方法

summernoteの画像機能はデフォルトだと「画像ファイルを選ぶ」「URLから ...

CodeIgniter4でフォームからファイルをアップロードし保存する方法
CodeIgniter4でフォームからファイルをアップロードし保存する方法

CodeIgniter4.4.4でformから画像等のファイルをアップロードし、 ...