我试图用.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