[JS]グリッドに沿ったアニメーションが面白い、HTML5ベースの画像ギャラリーのスクリプト -Mosaiqy
Post on:2011年7月1日
サムネイル画像がグリッドに沿って縦横にアニメーションでスライドする画像ギャラリーを実装するjQueryのプラグインを紹介します。
画像はFlickr, Instagramなどを利用することも可能です。
[ad#ad-2]
画像ギャラリーは各サムネイル画像をクリックすると、グリッドがアニメーションし拡大画像の領域を確保し、画像を表示します。
画像拡大時のデモ
また、サムネイル画像の配置も自由に調整できます。
上:3x4、下:4x3、他にも6x2, 12x1にデモを変更できます。
サムネイル表示を4x3にしたデモ
Mosaiqyの利用可能なサービス
画像は共有サービスのものを利用することもできます。
- Flickr
Flickrのデモ - Instagram
Instagramのデモ - Panoramio
Panoramioのデモ
Mosaiqyの実装
実装の準備
IEのHTML5用と必要な外部ファイルを準備します。
HTML5を使用するにあたっては、「HTML5 boilerplate」を参考にしてください。
<!doctype html> <!--[if lt IE 7]> <html class="no-js ie6" lang="en"> <![endif]--> <!--[if IE 7]> <html class="no-js ie7" lang="en"> <![endif]--> <!--[if IE 8]> <html class="no-js ie8" lang="en"> <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]--> <head>
もし、「modernizr」を使用しない場合は、下記のコードを使用します。
<head> <!--[if lt IE 9]> <script src="//html5shim.googlecode.com/svn/trunk/html5.js"> </script> <script src="http://jdbartlett.com/innershiv/innershiv.js"> </script> <![endif]--> <script> (function(doc) { doc.className = doc.className.replace(/(^|\b)no\-js(\b|$)/, 'js'); }(document.documentElement)); </script> ... </head>
最後の外部ファイルを指定します。
パフォーマンスを考慮するなら、スクリプトはドキュメントの下部に記述するのがよいでしょう。
<link rel="stylesheet" media="screen" href="lib/lib-css/mosaiqy.css" /> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"> </script> <script src="lib/mosaiqy-1.0.0.min.js" id="mosaiqy-tpl"></script>
Mosaiqyの使い方
Mosaiqyではグリッドを動的に生成するため、スクリプトで記述します。
<script src="lib/mosaiqy-1.0.0.js" id="mosaiqy_tpl"> <div> <figure><a href="images/zoom/${img}"><img src="images/thumb/${img}" longdesc="..."> <figcaption>${desc}</figcaption></a> </figure> </div> </script> <script> $(document).ready(function() { $('.mosaiqy').mosaiqy({ template : "mosaiqy_tpl", ... data : [ { img : "1.jpg", desc: "Rifugio «Città di Fiume»" } ... ] }); }); </script>
Mosaiqyの対応ブラウザ
対応ブラウザは下記の通りです。
- IE7+
- Firefox3.6+
- Safari3.2+
- Chrome
- Opera9+
[ad#ad-2]
sponsors