2012-02-22 114 views
0

我一直在四處搜尋,但還沒找到真正有效的東西。jquery,通過div循環,然後停在最後一個div?

基本上我們有一個插頁式的頁面,用戶點擊一個按鈕。我想循環播放背景圖片,比如每個500ms,然後停在最後一個div上。

我發現了一些東西,但不能得到任何東西停止在最後一個?我玩過的那些似乎並沒有停止在最後一個,它只是繼續運行。

在此先感謝!

下面的代碼,基本上滑件將顯示爲500毫秒,滑件500毫秒,然後停止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> 
+0

如何向我們展示您的代碼? – PeeHaa 2012-02-22 23:38:31

+0

至少一個小代碼示例/示例會有所幫助。也請定義「停在最後一個」的意思。循環完成所有圖像後停止?在完成最後一幅圖像之前停止?在最後一張圖片的動畫中停止? – 2012-02-22 23:41:59

回答

0

很簡單只是環通所有<div>

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


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

你也可以選擇父div並通過所有包含的div進行循環

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

這會給jQuery選擇器一個上下文,因此只會在幻燈片div中查找div,而不是整個DOM。

0

基於你的標記,它看起來像你做某種幻燈片/循環的東西。任何好的幻燈片/週期插件將有回調函數,當某些事情發生,所以你應該很容易地可以說是這樣的:類和回調函數

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

顯然名稱將會從插件有所不同插件。