2012-08-31 53 views
0

我想使用next和prev箭頭來切換圖像,並使用next()來淡化下一個圖像,但是當沒有圖像時,它顯然不會從第一個圖像回收。如何使該代碼正常工作,並在到達該類的圖像元素結束後讓下一個按鈕進入第一個圖像。滾動到循環模式中的下一個元素

我的代碼:

$('.nextImage').live('click',function(){ 
    $('.main-image .zoom:visible').fadeOut(800); 
    $('.main-image .zoom:visible').next().fadeIn(800); 
}); 

回答

2

只是測試,如果有下一個元素,如果沒有,返回到開始。

$('.nextImage').on('click',function(){ // .live() is deprecated 
    var $img = $('.main-image .zoom:visible').last(), // just want one 
     $next = $img.next(); 
    if (0==$next.length) { 
     $next = $img.siblings().first(); 
    } 
    $img.fadeOut(800); 
    $next.fadeIn(800); 
}); 

http://jsfiddle.net/tAChA/

+0

+1只是爲了[尤達條件(http://www.codinghorror.com/blog/2012/07/new-programming-jargon.html)! – adeneo

+0

我不知道爲什麼當它到達最後它不會褪色到第一個項目,而是它轉到上一個項目之前的項目,然後退到最後一個項目。 :( –

+0

更新它發生,當我點擊太快的項目,你認爲它是有關fadeout,fadeIn需要完成過渡? –

相關問題