毎度おなじみ、[怖くないJavaScript + jQuery]シリーズです。
今回は時間で画像が切り替わるスライドショーを作りました。動作は一番シンプルで、クリックの処理は入っていません。TOPページでイメージ画だけ切替表示したい時に便利ですね。
合言葉は「jQuery こわくない」です。
デモのファイルはこちらからダウンロードできます。
デモ
▼サンプルでは、3枚のスライドがフェードのアニメーションで切り替わります。別ウィンドウで開く
Step1:まず下準備
こちらはいつもと同じですね。まず必要なファイルを読み込みます。headerの中に、jQueryと、自分で作ったjavascriptのファイル(今回は slide.js とします)を読み込みます。
<script src="common/js/jquery.js" type="text/javascript"></script>
<script src="common/js/slide.js" type="text/javascript"></script>
</head>
Step2:次にHTMLの準備
今回必要なのはidのついたdivと、その中にimgを含むliを並べます。divのidはjsの中の記述と合わせます。liには「display:none;」をかけて非表示にしておきます。あとはそれぞれお好きにカスタマイズしてください。Step3:jsを書き込む
headerで読み込んでいるはずの slide.js の中身を書き込んでいきましょう。全体を詳しく書くと、こう。
解説
setIntervalを使用すると処理を繰り返すことができます。6000の箇所の数値を変更すると処理の間隔を遅くしたり早くしたりできます。
解説2
setTimeoutを使用すると処理を遅らせることができます。画像のフェードインとフェードアウトが同時に起こってしまうとレイアウトの崩れが起きてしまうので、フェードアウトの1000ミリ秒後にフェードインしています。fedeOutとfedeInのすぐ後の数字を増減させてアニメーションを遅くしたり早くしたりできます。同じ色の箇所は同じ数値に合わせて下さい。
$(slide).find(‘li’).fadeOut(1000);
setTimeout(function(){
解説3
if文で、条件を設定して何枚目か調べて処理を変えています。