我試圖用.animate
具備此功能的動畫一堆<div>
的:
slideOut: function(container){
var count = container.siblings().size() - 1;
container.siblings().each(function(index, item){
$(item).delay(index * 50).animate({ "left" : "-1000px" }, "fast", function(){
if (index == count){
container.delay(container.parent().parent().children().size() > 10 ? 10 * 50 + 300 : container.parent().parent().children().size() * 50 + 300 ).animate({ "left":"-1000px" }, "fast", function(){
container.parent().parent().clone(true, true).appendTo(metro.tiles);
metro.overlay(container.parent().parent().parent());
});
}
});
});
},
,我使用下面的函數把他們帶回到DOM:
slideInTiles: function(){
$("#contentWrapper").empty();
$("#contentWrapper").append(metro.tiles.children());
$("#contentWrapper li").animate({"left": "0px"}, "fast");
$("#contentWrapper li.activeTile").css({"left": "0px"}, "fast");
},
的問題,然而,就是在<li>
我點擊沒有獲得在混合動畫回來。我必須使用.css
才能將其恢復。代碼中導致此問題的錯誤在哪裏?另外,因爲我使用.css
將活躍的li
帶回來,所以它也不再以動畫形式出現。我很確定這與.clone
方法有關。但是,怎麼樣,我無法確定。
[Demo](http://jsfiddle.net/)? – 2012-04-18 20:37:25
您在標題中提及'$(this)',但在代碼中沒有看到任何此類內容。 – Sparky 2012-04-18 20:49:54
這只是應用程序的一小部分。創建演示將非常困難。如果你需要澄清,請告訴我。 – amit 2012-04-18 20:50:49