画像をモーダルウィンドウにする「Lightbox」
ブラウザに表示している画像をモーダルウィンドウとして表示するためには「Lightbox」が簡単です。
ダウンロード
ファイルの設置
以下CakePHPの場合です。
lightbox.jsをjsフォルダに設置、
lightbox.cssをcssフォルダに設置、
画像類をimgフォルダに設置します。
css内の画像のurlにimagesというところがあるのでimgに置換。
ファイルの読み込み
headでcssとjqueryを読み込みます。
lightbox.jsはhead内で読み込むと動きません。
ページの下部でその場に読み込みます。
<?php echo $this->Html->script('lightbox'); ?>
画像の設置
リンク付きの画像を設置します。その時aタグに「data-lightbox="lightbox"」を入れておきます。
「lightbox」の値が同じものは同じグループになり、進む/戻るボタンで移動できます。
<a href="/hoge/hoge.jpg" data-lightbox="lightbox"><img src="/hoge/hoge.jpg"></a>
リンクの自動生成
リンクを入れないで、画像を設置しただけで適応したい場合は、javascriptで事前に画像にリンクを入れましょう。
$(function(){
$('.imageLinkBody img').each(function(){
$(this).before('<a href="' + $(this).attr('src') + '" data-lightbox="lightbox"><img src="' + $(this).attr('src') + '" style="' + $(this).attr('style') + '"></a>');
$(this).remove();
});
});
カテゴリ:javascript 投稿日時:2015年10月27日 17:26
コメント
コメントはまだありません。
コメント投稿
ご自由にコメントください!
※一度投稿すると削除できませんのでご注意ください。管理者の独断と偏見で削除する場合があります。コメント機能は予告なく停止する場合があります。
カテゴリ
新着備忘録
「MySQL」ERROR 2013 (HY000) at line : Lost connection to MySQL server during query
MySQLでERROR 2013 (HY000) at line : Lost connection to MySQL server during queryエラーが出た。
CakePHP3 CSSやjavascriptを更新したのに反映されない!
CakePHP3でCSSやjavascriptにタイムスタンプをつける方法です。
CakePHP3のタイムゾーン設定
CakePHP3のタイムゾーン設定方法です。
Thunderbirdで同じメールが何度も届く件
Thunderbirdで同じメールが何度も届く件についてです。
CakePHP3でCSV出力
CakePHP3でCSV出力する方法です。