C04-07 : prettyPhoto
準備
jQueryライブラリのため、jQueryとセットで読み込みます。
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> <script type="text/javascript">window.jQuery || document.write('<script src="jquery-1.8.2.min.js"><\/script>')</script> <link type="text/css" rel="stylesheet" href="prettyPhoto.css"> <script type="text/javascript" src="jquery.prettyPhoto.js"></script>
画像を開く
画像をページ上にオーバーレイ表示します。また、オプション機能を使ってグループ化することでスライドショーを作ることができます。
$(function(){ $("a[rel^='prettyPhoto']").prettyPhoto(); });
<a href="img/001.jpg" rel="prettyPhoto[group1]"><img src="img/001_t.jpg" height="100" width="100" alt=""></a> <a href="img/002.jpg" rel="prettyPhoto[group1]"><img src="img/002_t.jpg" height="100" width="100" alt=""></a> <a href="img/003.jpg" rel="prettyPhoto[group1]"><img src="img/003_t.jpg" height="100" width="100" alt=""></a> <a href="img/004.jpg" rel="prettyPhoto[group1]"><img src="img/004_t.jpg" height="100" width="100" alt=""></a> <a href="img/005.jpg" rel="prettyPhoto[group1]"><img src="img/005_t.jpg" height="100" width="100" alt=""></a>
HTMLを開く
Ajax、iframe、inlineの3つの方法でHTMLを読み込み、内容をオーバーレイ表示します。
$(function(){ $("a[rel^='prettyPhoto']").prettyPhoto(); });
<a rel="prettyPhoto[ajax]" href="ajax.html?ajax=true&width=600&height=350">HTMLの表示(Ajax)</a>
<a href="iframe.html?iframe=true&width=600&height=350" rel="prettyPhoto">HTMLの表示(iframe)</a> <a href="#inline" rel="prettyPhoto">HTMLの表示(inline)</a>
Youtubeを開く
Youtubeの動画URLをhrefに指定することで、Youtube動画をオーバーレイ表示することができます。
$(function(){ $("a[rel^='prettyPhoto']").prettyPhoto(); });
<a href="http://www.youtube.com/watch?v=6PGznR2a9xk" class="youtube">Youtubeの表示</a>
コールバックを受け取る
prettyPhotoを「開く」「スライドを切り替える」「閉じる」といったタイミングでコールバック関数を受け取ることができます。
$(function(){ $("a[rel^='prettyPhoto[callbacks]']").prettyPhoto({ changepicturecallback: function(){ alert('prettyPhotoを開く or スライドを切り替える'); }, callback: function(){ alert('prettyPhotoが閉じられた'); } }); });
<a href="img/001.jpg" rel="prettyPhoto[callbacks]">callbacks</a>
オプション
プロパティ | 初期値 | 説明 |
---|---|---|
animation_speed | "fast" | アニメーションの速度を "fast" or "normal" or "slow" の中からか、ミリ秒単位で設定します。 |
slideshow | 5000 | スライドショーの待機時間をミリ秒単位で設定します。 |
autoplay_slideshow | false | trueの場合、スライドショーの自動スライド機能をONにします。 |
opacity | 0.80 | 0~1の範囲でオーバーレイの不透明度を設定します。 |
show_title | true | trueの場合、img要素のalt属性に指定した内容を写真の左上にタイトルして表示します。 |
allow_resize | true | trueの場合、表示する画像がブラウザより大きい場合、自動で縮小します。 |
default_width | 500 | prettyPhotoのデフォルトの幅を設定します。 |
default_height | 344 | prettyPhotoのデフォルトの高さを設定します。 |
counter_separator_label | / | スライドの合計と現在地の間に入る内容を設定します。 |
theme | pp_default | prettyPhotoのテーマを "pp_default" or "light_rounded" or "dark_rounded" or "light_square" or "dark_square" or "facebook の中から選択します。 |
horizontal_padding | 20 | 画像の両側に余白を設定します。 |
hideflash | false | trueの場合、prettyPhotoでFlashコンテンツを表示したときに同ドキュメント中のFlashコンテンツをすべて非表示にします。 |
wmode | opaque | prettyPhotoで開いたFlashコンテンツにwmode属性を設定します。 |
autoplay | true | trueの場合、prettyPhotoで開いた動画を自動的に再生します。 |
modal | false | trueの場合、prettyPhotoの閉じるボタンを押さないと閉じられなくなります。 |
deeplinking | true | trueの場合、URLにハッシュがつきます。 |
overlay_gallery | true | trueの場合、prettyPhotoの中にスライドギャラリーを表示します。 |
keyboard_shortcuts | true | trueの場合、キーボードの左右矢印キーでスライドの移動ができます。 |
changepicturecallback | - |
prettyPhotoで画像を開いた・切り替えたタイミングでコールバックを受け取ります。
$("a[rel^='prettyPhoto']").prettyPhoto({ changepicturecallback: function(){ alert('open'); } }); |
callback | - |
prettyPhotoが閉じたタイミングでコールバックを受け取ります。
$("a[rel^='prettyPhoto']").prettyPhoto({ callback: function(){ alert('open'); } }); |
ie6_fallback | true | IE6で使えない透過PNGなどを削除したデザインに変更します。 |