0
我有一個20 div div的div。我正在做的是從div:eq(1)開始,並將它與左邊的交換,然後重複div:eq(2),div:eq(3)等,並交換到左邊。jquery animate divs eq()方法關閉
看來在此之後DOM不會正確更新,因爲它們在此之後總是關閉1。
我以爲也許克隆動畫完成後的div將工作,但它does not。
看來DOM不會更新它的結構嗎? 編輯 對不起,最初不提供代碼。正如你在第一次交換之後看到的那樣,它使用「舊」div。
$(function() {
var currentIndex = 0;
for (i = 0; i < 20; i++) {
$("#holder").append('<div class="number">' + i + '</div>');
}
function resetDivs(){
$("#holder div").css("border", "");
}
prepareForSwap();
function prepareForSwap() {
currentIndex++;
resetDivs();
div2 = $("#holder").find("div:eq(" + currentIndex + ")");
div1 = div2.prev();
div1.css("border", "3px solid blue");
div2.css("border", "3px solid red");
setTimeout(swap, 2000);
}
function swap() {
div1.animate({
left: "+=25"
}, 2000, function() {
});
div2.animate({
left: "-=25"
}, 2000, function() {
if(currentIndex < 20){
setTimeout(prepareForSwap,2000);
}
});
}
);
及!你的相關代碼在哪裏? – bipen
'eq'是基於零的。不管這是我不能說的問題。 –
你可以添加一些你的代碼和一個可以重新創建問題的js小提琴嗎? –