3連休をいかがお過ごしでしょうか。僕は
全く関係ないので普通に記事を書いて
まいります。タイル状に並べられた画像
ギャラリーをそのままドラッグで動かせる
というmootoolsのプラグイン・The Wall
が結構クールで素敵でした。
なかなか素敵なライブラリですよ。mootoolsのプラグインでIE6や7でも動作してくれました。スマフォのフリックでも動かせましたよ。個人的にはjQueryで欲しかったですけど・・
The Wall
かっこいいですな。名前の通り、画像を並べて壁のようにしてあります。ロゴ部分もドラッグできますよ。
ロゴに使用されているのは「THE MASK」です。透過したロゴの背景にThe Wallを配置し、ドラッグ出来るようにしています。スマフォには対応していません。
デモも結構揃えてくれています。それぞれ実装方法が書いてあるので参考にしてみてください。
IE6や7でも動作
IE6でも動きました。
コード
<script src= "mootools-core-1.3.2.js" type= "text/javascript" charset= "utf-8" ></script> <script src= "mootools-more-1.3.2.1.js" type= "text/javascript" charset= "utf-8" ></script> <script type= "text/javascript" language= "javascript" src= "wall.js" ></script> |
mootoolsやプラグインを読み込み。
< div id = "viewport" > < div id = "wall" ></ div > </ div > |
マークアップはシンプル。
画像は以下の方法で表示させてるみたいです。
window.addEvent( "domready" , function (){ var maxLength = 185; var counterFluid = 1; var wallFluid = new Wall( "wall" , { "draggable" : true , "invert" : true , "width" :60, "height" :60, "rangex" :[-130,130], "rangey" :[-130,130], callOnUpdate: function (items){ items.each( function (e, i){ var a = new Element( "img[src=/public/images/small/" +counterFluid+ ".jpg]" ); a.inject(e.node); counterFluid++; // Azzera counter if ( counterFluid > maxLength ) counterFluid = 1; }) } }); // Init Fluid Wall wallFluid.initWall(); }); |
で、画像のファイル名を数字で統一させればいいのかな。(例:/public/images/small/23.jpg)
うーん、どこかで使ってみたい。以下でデモを確認出来ます。