[JS]画像をクロスフェードで変更するスライドショーの超軽量スクリプト -Simplest Slideshow
Post on:2009年12月15日
余計な機能は一切なく、シンプルで画像を洗練されたエフェクトで次々に表示するスライドショーのスクリプトをSnook.caから紹介します。
Simplest jQuery Slideshow
demo
このスクリプトを作成したきっかけは、知人からの依頼だそうです。
当サイトでも多数紹介しているjQueryのプラグインで同様の動作をするものがありますが、多機能すぎるためクロスフェードするだけのシンプルで軽量のものを作成することにしたそうです。
そこで、コードの目標を20行以下で挑んだところ、作成してみると、下記のように大幅に短いものになってしまったとのことです。
※動作には別途jquery.jsが必要です。
JavaScript
1 2 3 4 5 6 7 8 9 10 |
<textarea name="code" class="html" cols="60" rows="5"> $(function(){ $('.fadein img:gt(0)').hide(); setInterval(function(){ $('.fadein :first-child').fadeOut() .next('img').fadeIn() .end().appendTo('.fadein');}, 3000); }); </textarea> |
HTMLもシンプルな構成で、下記のようになります。
HTML
1 2 3 4 5 6 7 |
<textarea name="code" class="js" cols="60" rows="5"> <div class="fadein"> <img src="http://farm3.static.flickr.com/2610/4148988872_990b6da667.jpg"> <img src="http://farm3.static.flickr.com/2597/4121218611_040cd7b3f2.jpg"> <img src="http://farm3.static.flickr.com/2531/4121218751_ac8bf49d5d.jpg"> </div> </textarea> |
配置やサイズは、CSSで指定をします。
CSS
1 2 3 4 |
<textarea name="code" class="css" cols="60" rows="5"> .fadein { position:relative; height:332px; width:500px; } .fadein img { position:absolute; left:0; top:0; } </textarea> |
sponsors