2013-07-22 28 views
0

我想製作一個帶有5個盒子的滑塊,當每個盒子動畫時,中間的一個變得更大,但是我不能做到這一點。我怎樣才能選擇下一個li在jQuery的每個循環內

這裏是一個示例代碼:

$(".mNext").click(function() { 
    var boxCurrent = $(".mBox.current").data("index"), 
     dir = $(".mBox:first").data("index"); 
    if (boxCurrent == boxLength) { 
     goFirstBox(); 
    } 
    $(".mBox").each(function (i) { 
     var $item = $(this); 
     $item.stop().animate({ 
      left: (dir === 1) ? '-=' + "170" + 'px' : '+=' + "170" + 'px' 
     }, 600); 
     if ($item.hasClass("mBig")) { 

      $(this).removeClass("mBig"); 
      $(this).find("li:first").addClass("maBig"); 
     } 
    }); 

如果你想要的jsfiddle鏈接:通過調用

$(this).next(); 

問題與提琴http://jsfiddle.net/theOne623/hXBQ9/

+0

爲什麼你自己寫一個函數?有很多插件可以做你想做的事情:-) – Pieter

+2

@Pieter:當你可以自己學習某些事情時,爲什麼要用別人的代碼? – Lee

+0

@Pieter:你能想到比嘗試更好的學習方式嗎? –

回答

0

你可以到下一個li您是否正在將類mBig添加到下一個li,因此當下一個元素在中找到時循環,它也會找到它,將其刪除並將其添加到下一個。

請保留對新的li的引用,並在each循環完成後添加該類。

更新提琴:http://jsfiddle.net/dh8uB/

+0

感謝您的幫助:)它完美的工作! – Orion623

+0

隨時可以接受此答案...;) – devrooms

相關問題