[JS]タイル状に配置した画像やテキストをランダムな順番でふわりと表示するスクリプト -champagne.js
Post on:2012年5月16日
グリッドに沿ってタイル状に配置した画像やテキストなどのエレメントをランダムな順番でふわりと表示するjQueryのプラグインを紹介します。
champagne.js
champagne.js -GitHub
[ad#ad-2]
champagne.jsのデモ
デモは上記キャプチャのテキスト版の他に、画像版もあります。
デモページの画像が「188x68」と書かれただけのものなので、ちょっと味気ないかもしれません。
champagne.jsを使っているサイトもあり、そちらは写真画像です。
champagne.jsを実際に使用しているサイト「Perkstreet」
[ad#ad-2]
champagne.jsの使い方
champagne.jsは、3ステップで簡単に実装できます。
- 画像やテキストをタイル状にCSSで実装。
- jQueryと当スクリプトをインクルード。
- 親エレメントをjQueryのセレクタで指定し、スクリプトを実行。
下記に、デモページを例に実装方法を紹介します。
外部ファイル
「jquery.js」と当スクリプトを外部ファイルとして記述します。
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script type="text/javascript" src="champagne/jquery.champagne.min.js"></script>
HTML
画像やテキストをリスト要素で配置します。
<ul class="champagne"> <li>hello</li> <li>hola</li> <li>bon giorno</li> <li>ni hao</li> <li>guten tag</li> <li>namaste</li> <li>hello</li> <li>bonjour</li> <li>hola</li> <li>bon giorno</li> <li>ni hao</li> <li>chao</li> <li>guten tag</li> <li>namaste</li> <li>bonjour</li> <li>hola</li> <li>ni hao</li> <li>chao</li> <li>guten tag</li> <li>namaste</li> <li>hello</li> <li>bonjour</li> <li>hola</li> <li>bon giorno</li> </ul>
CSS
スタイルシートでタイル状に配置します。
ul.champagne { border: 1px solid #ddd; -webkit-box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); clear: both; font-size: 20px; font-weight: bold; height: 432px; list-style: none; margin: 30px auto; padding: 0; position: relative; width: 768px; } ul.champagne:after { background: transparent; bottom: 10px; -webkit-box-shadow: 8px 12px 10px rgba(0, 0, 0, 0.2); -moz-box-shadow: 8px 12px 10px rgba(0, 0, 0, 0.2); box-shadow: 8px 12px 10px rgba(0, 0, 0, 0.2); content: ''; height: 55%; position: absolute; right: 10px; -webkit-transform: skew(4deg) rotate(2deg); -moz-transform: skew(4deg) rotate(2deg); transform: skew(4deg) rotate(2deg); width: 70%; z-index: -1; } ul.champagne:before { background: transparent; bottom: 10px; -webkit-box-shadow: -8px 12px 10px rgba(0, 0, 0, 0.2); -moz-box-shadow: -8px 12px 10px rgba(0, 0, 0, 0.2); box-shadow: -8px 12px 10px rgba(0, 0, 0, 0.2); content: ''; height: 55%; left: 10px; position: absolute; -webkit-transform: skew(-4deg) rotate(-2deg); -moz-transform: skew(-4deg) rotate(-2deg); transform: skew(-4deg) rotate(-2deg); width: 70%; z-index: -2; } ul.champagne li { background: #fff; border: 1px solid #ddd; height: 30px; float: left; padding: 20px; text-align: center; width: 150px; } ul.champagne div.hidden { display: none; }
JavaScript
親エレメントをjQueryのセレクタで指定し、スクリプトを実行します。
<script type="text/javascript"> $(function() { $("ul.champagne").champagne(); }); </script>
スクリプトのオプション
- beginning_delay
- 表示のアニメーションが始まるタイミング
- delay_between
- 次のエレメントが表示されるタイミング
- duration
- それぞれのエレメントのアニメーションの持続時間
また、コールバックも用意されています。
- onFinish
- すべてのエレメントの表示が終了した時
sponsors