画像ギャラリーを実装できる「Galleria」
Galleriaは、わずか数行で画像ギャラリーが作成できるjQueryプラグインです。Airbnbのページで使用されていて、コレいいな~と思い試してみました。
ダウンロードはこちらから(バージョン:1.4.2)
CDNを使用する場合はこちらから使用できます。(cdnjs)
スクリプト
<script type="text/javascript" src="jquery.min.js"></script> <script type="text/javascript" src="galleria-1.4.2.min.js"></script>
実装
画像表示は通常通りでid('#gallery')を付与する
<div id="gallery"> <img alt="海員閣" src="5080/6914709574_defcfa39d1_n.jpg"> <img alt="中華街" src="5467/7060789027_8e000d5a12_n.jpg"> <img alt="高徳院" src="5272/6914696188_79dc0d4387_n.jpg"> </div>
ギャラリー作成
<script type="text/javascript"> // テーマをロード Galleria.loadTheme( 'themes/classic/galleria.classic.min.js'); // オプション option = { width: 700, // 幅 height: 467, // 高さ imageCrop: true, // 画像のクロップ有無 // true:width/heightにフィットさせるように画像を切り取って表示 // false:画像を全体表示させるように縮小 transition: 'fade', // 画像の遷移イフェクト _toggleInfo: false, // imgのalt属性を取得してキャプションとして表示 // true:キャプションの非表示 // false:キャプションの表示 } // ギャラリー作成 Galleria.run( '#gallery', option); </script>
- Galleria.loadTheme
ギャラリーのテーマ(galleria.classic.min.js)を読み込みます。**スクリプトのパスは適宜置き換えて下さい。テーマは色々と用意されているみたいです。(classic以外は有料) - option
オプションを指定します。ギャラリーのサイズとなるwidthとheightは最低限指定して下さい。 - Galleria.run('#div', option);
おまじないです
デモ
こちら
IE7+, FF3+, Opera 11+, Chrome 9+, Safar 4+ and Mobile Safari
また、"Fatal error: Could not extract a stage height from the CSS. Traced height: 0px." というエラーがでていたのですが、いつの間にかでなくなりました。どんなときにでるのだろうか。。。
オプション・カスタマイズ
レスポンシブ化
Galleriaはデフォルトでレスポンシブ対応していて、設定は必要ありません。ギャラリーの幅を指定する場合は、divのstyleにwidthをパーセンテージで指定して下さい。デモ
option = { height: 0.5, // ギャラリー全体の縦横比 (横1に対して縦の比率を設定) maxScaleRatio: 1, // 画像のスケールアップ度を設定(1に設定するとオリジナルより伸張させない) _toggleInfo: false, // キャプションの表示(false:表示) }
画像とサムネイルの間にキャプションを表示
デモ (+コード)
JSの変更部分は、実際にギャラリー内の各骨組み部分を生成する部分で、キャプションの部分である'info'(.galleria-info)を'thumbnails-container'(.galleria-thumbnails-container)内に入れ込みます。Galleria DOM Structureを参照
CSSの変更部分は、.galleria-stage(画像表示部分)のbottomをキャプション挿入(.galleria-info)分上げます。その分、.galleria-thumbnails-containerの高さを上げます。そして、.galleria-infoのpositionのabsoluteをはずしてください。
画像のインラインにキャプションを表示
デモ (+コード)
キャプションの各要素であるgalleria-info-text, galleria-info-text, galleria-info-descriptionなど、色々ずらしていってもできます。
強引にやってみましたが、いい方法をご存知の方がいらっしゃればご教授いただければと思います。
関連記事
-
親要素の大きさに合わせて画像をリサイズ「imgLiquid」
「imgLiquid」は親要素の大きさに合わせて画像を縮小・切り取りを行ってくれるjQueryプラグインです。 ダウンロードはこちら スクリプト 実装
-
わずかなコードで画像をサムネイル化してくれる「MyThumbnail.js」
サムネイル化してくれるJQueryプラグインは数多くありますが、この「MyThumbnail」はわずか数行で簡単にページ上の画像を指定サイズにサムネイル化してくれます。 ダウンロード 画像とし
-
テキストボックスの入力値を数値限定にしてくれる「jQuery - numeric」
「jQuery - numeric」は、テキストボックスへの入力を数字のみに制限してくれるjQueryプラグインです。正/負、整数/小数点 チェックまで限定してくれます。ダウンロード スクリプト
-
select(list)ボックスを左右に並べて視覚的に使いやすくしてくれる「Multiselect」
「Multiselect」は、selectボックスを左右に配置して、選択したもの・していないものを左右に分けてくれるjQueryプラグインです。視覚的に使いやすくしてくれます。ダウンロードはこちら
-
テキストに動きをつけるプラグイン
テキストをフェイド・スライド「Textillate」 テキストをフェイドイン(アウト)、スライドイン(アウト)してくれます。 ダウンロード デモ My Tit
-
画像をモザイク処理(ピクセル化)してくれるプラグイン「Pixelate.js」
「Pixelate.js」はその名の通り画像をピクセル化してくれるjQueryプラグインです。画面ロード時にピクセル化しておき、画像にマウスオーバーすると暴露してくれます。 ダウンロード | デモ
-
エフェクト豊富なニュースティッカー用プラグイン「inewsticker」
「inewsticker」は、色々なエフェクトでニュースティッカーが実装できるjQueryプラグインです。ダウンロード エフェクトには、fade/slide/typingの3つが可能です。 デ
-
Lightboxなどが実装できるプラグイン「Magnific Popup」
「Magnific Popup」はlightboxを実装できるjQueryプラグインです。 この手のものは、商用利用に制限がかかっているものが多いですがこのプラグインはMITライセンスで提供されてい
-
時刻入力に便利な「Timepicker for Bootstrap」
「Timepicker for Bootstrap」は、テキストボックスへの時刻入力を便利にしてくれるjQueryプラグインです。 2014/06/16 Bootstrap3対応版に書き換え
-
マウスオーバーすると画像にキャプションを表示してくれる「Mosaic」
「Mosaic」は、画像などにマウスオーバーすると、キャプションをスライド(イン/アウト)もしくはフェイド(イン/アウト)させてくれるjQueryプラグインです。ダウンロードはこちら スクリプト
Comment
jqueryの手引き1
こう言うやつにしたいのよ 画像ギャラリーを実装できる「Galleria」 http://t.co/9c6mupg20u
“jQuery: 画像ギャラリーを実装できる「Galleria」 | Think deeply, Do less, More effective” http://htn.to/eAhEVx
初めましてお訪ねしたいのですが
http://www.craftdesign.co.jp/reform_mansion_1.html
のgalleriaを使っている部分の写真の表示のしかた(横と縦の写真)のようにするにはどうしたらいいですか?
コメントありがとうございます。
ご質問の内容ですが、
画像をクリックすると別ウィンドウを開きその中で画像ギャラリーを展開する という部分でよろしいでしょうか?