jquery,循环通过div,然后停在最后一个div?

时间:2012-02-22 23:37:13

标签: jquery html jquery-ui

我一直在寻找,但没有找到真正有用的东西。

基本上我们有一个用户点击按钮的插页式页面。我想循环遍历背景图像,比如每个500毫秒,然后停在最后一个div上。

我在那里发现了一些东西,但最后一个却无法阻止任何事情?我玩过的那些似乎并没有停留在最后一个,它只是继续运行。

提前致谢!

这是代码,基本上Slide1将显示500ms,Slide2显示500ms,然后停止在slideMain上:

 <div id="slideshow">
        <div id="slide1" class="active">Slide1</div>
        <div id="slide2">Slide2</div>
        <div id="slide3">Slide3</div>
        <div id="slide4">Slide4</div>
        <div id="slide5">Slide5</div>
        <div id="slide_main">SlideMain</div>
     </div>

3 个答案:

答案 0 :(得分:0)

非常简单,只需循环遍历所有<div>

<div class="image"></div>
<div class="image"></div>
<div class="image"></div>
<div class="image"></div>


$('div.image').each(function(){
     // do stuff
});

答案 1 :(得分:0)

您还可以选择父div并循环遍历

中包含的所有div
$("#slideshow > div").each(function(){
      var id = $(this).attr("id");
      if(id == "slide_main"){
           //Do Something
      }  
    }
);

这将为jQuery选择器提供一个上下文,因此只会在幻灯片div中查找div,而不是整个DOM。

答案 2 :(得分:0)

基于您的标记,它看起来像是在做某种幻灯片放映/循环播放。任何好的幻灯片/循环插件都会在某些事情发生时有回调函数,所以你应该很容易说出类似的东西:

$('#slideshow').cycle({onChange: function () {
    if ($('#slideshow div:last').is('.active')) {
        $('#slideshow').cyce('stop');
    }
}});

显然,类和回调函数的名称会因插件而异。