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

在此脚本中,我将crossSlide效果应用于#slideshow。 但是,如果我有20个div,并且我想将crossSlide效果应用于每个带有“幻灯片放映”类的div,该怎么办?如何在JQuery中进行循环?

如何通过div循环,找到类.slideshow,并将相应的图像应用到每个?

编辑:每个div都有自己的图片,我想展示。

+0

$('#slideshow')选择器不在寻找类,`#`为ID,`.`为类。 – 2010-12-01 05:56:20

回答

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

使用class selector结合element selector

$('div.slideshow').crossSlide 

然后,你将不得不使用上的元素.each()和使用$(this)

+0

但是如果每个div都有我想要做的图像呢? – TIMEX 2010-12-01 05:51:31