jQueryプラグインです。
サンプル
◆html
1行目:HTML5であることを宣言
8行目:
jQueryを読み込む。
9行目:
jQuery.quickSlideshow.js を読み込む。
15-30行目:
スライドショーを構成する画像のurlとキャプション
33行目:
jQueryプラグインquickSlideshowを呼びだし。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <link rel=icon href="http://www.geocities.jp/winchester_cathedral_nostalgy/_img/BlueSky_favicon.png" sizes="16x16" type="image/png"> <title>quickSlideShow</title> <script src="http://code.jquery.com/jquery-latest.min.js"></script> <script src="jQuery.quickSlideshow.js"></script> <script> $(function() { var photos = [{ url: "http://farm6.static.flickr.com/5052/5503321609_d9e9571af9_z.jpg", caption: "いすみ鉄道" },{ url: "http://farm6.static.flickr.com/5013/5546595586_6f6966e6ca_z.jpg", caption: "いすみ(蛍)" },{ url: "http://farm6.static.flickr.com/5263/5616428686_82610176c3_z.jpg", caption: "飯給" },{ url: "http://farm6.static.flickr.com/5251/5503249326_6b1c255324_z.jpg", caption: "いちはら市民の森" },{ url: "http://farm6.static.flickr.com/5136/5546824600_af97b41fe5_z.jpg", caption: "君ヶ浜から見た犬吠崎灯台" }]; $('#slideshow').quickSlideshow( photos ); }); </script> </head> <body> <div style="text-align: center; width: 100%; margin: 0; padding: 0;"> <div id="slideshow"></div> </div> </body> </html>
◆jQueryプラグイン(jQuery.quickSlideshow.js)
(function($) { $.fn.quickSlideshow = function(photos, options) { return this.each(function() { new $.quickSlideshow(this, photos, options); }); }; var defaults = { interval: 3000, animateTime: 1000 }; $.quickSlideshow = function(elements, photos, options) { this.options = $.extend({}, defaults, options); // デフォルトオプションと渡されたオプションのマージ this.$id = $(elements); var self = this; $.each( photos, function(i){ self.$id.append( $('<div>').css({ width: "100%", textAlign: "center" }).append( $('<img>').attr("src", photos[i].url) // img要素のsrc属性にphoto[i]を設定する。 ).append( $('<p>').html(photos[i].caption) // p要素の中身をcaption[i]に設定する。 ) ); }); this.$id.find('div').each(function(){ $(this).css({ position: "absolute", // ボックスの配置を絶対位置に設定する。 opacity: 0.0 // div要素の透過度を0.0(透明)に設定する。 }); }); this.current = 0; this.next = 1; this.$id.find('div').eq(this.current) .css({ opacity: 1.0 // div要素の透過度を1.0(不透明)に設定する。 }); this.timer = setInterval(function() { // slideSwitch()を時間intervalごと繰り返す。 var tmp = self.next; self.$id.find('div').eq(self.next) .css({opacity: 0.0}) .animate({opacity: 1.0}, self.options.animateTime, function() { // 次の要素の透過度を1.0にアニメーションする。 self.next++;; // activeな要素からclass='active'を削除 if (self.next >= self.$id.find('div').length) { self.next = 0; } }); self.$id.find('div').eq(self.current) .animate({opacity: 0.0}, self.options.animateTime, function() { // 今の要素の透過度を0.0にアニメーションする。 self.current = tmp; }); }, self.options.interval ); }; })(jQuery);
参考にしたページ
スライドショー作り方(A Simple jQuery Slideshow)以上