2010-12-01 32 views
1
<script> 
    $(function() { 
    $('#slideshow').crossSlide({ 
     sleep: 2, 
     fade: 1 
    }, [ 
     { src: 'picture1.jpg' }, 
     { src: 'picture2.jpg' }, 
    ]) 
    }); 
</script> 

このスクリプトでは、#slideshowにcrossSlideエフェクトを適用します。 しかし、20個のdivがあり、 "slideshow"というクラスの各divにcrossSlideエフェクトを適用したいのですが?JQueryでループを実行するにはどうすればよいですか?

divをループして、クラス.slideshowのものを見つけて、それぞれの画像をそれぞれに適用するにはどうすればよいですか?

編集:各部門には、私が見せたい独自のイメージがあります。

+0

$( '#slideshow')セレクタがクラスを探していない、 '#'がID、 '.'がクラスです。 –

答えて

1
$(function() { 
    $('.slideshow').each(function(index,elem) { 
     $(this).crossSlide({ 
      sleep: 2, 
      fade: 1 
     }, [ 
      { src: 'picture'+index+'A.jpg' }, 
      { src: 'picture'+index+'B.jpg' }, 
     ]) 
    }); 
}); 

を使用して現在のオブジェクトを取得する必要があります。索引やその要素の属性などに基づいてファイル名を選択できます。

それ以外の場合は、ファイル名にパターンがない場合は20回すべて書き込む必要があります。

6

element selectorと組み合わせたclass selectorを使用してください。

$('div.slideshow').crossSlide 

次に、あなたはあなたがイメージソースは、現在の要素の機能をファイル名にすることができ要素に.each()を使用して$(this)

+0

しかし、各部門が自分のイメージを持っていたらどうしますか? – TIMEX

関連する問題