为什么我不能为克隆元素设置动画?

时间:2012-06-28 07:20:06

标签: jquery animation clone

这是我的code

var newElement=$('.oggetto').eq(0).clone();
newElement.animate({ 'top': '2000px'}, 5000);

<div id="container">
    <div class="oggetto" style="left:0px;">&nbsp;</div>
    <div class="oggetto" style="left:50px;">&nbsp;</div>
</div> 

但似乎“.oggetto”在clone()之后不会移动。

事实上,如果我只写:

$('.oggetto').eq(0).animate({ 'top': '2000px'}, 5000);

它也有效。我哪里错了?

3 个答案:

答案 0 :(得分:3)

因为,首先必须将克隆的元素插入到DOM中,然后再进行动画处理。

var newElement=$('.oggetto').eq(0).clone();
$("#container").append(newElement); //add the element 

//Now animate
newElement.animate({ 'top': '2000px'}, 5000);

Demo

答案 1 :(得分:1)

尝试在动画制作之前将其插入DOM ...

http://jsfiddle.net/LupfW/1/

newElement.appendTo("body").animate({ 'top': '2000px'}, 5000);​

答案 2 :(得分:1)

您需要将其附加到dom树。的 THE DEMO.

newElement.appendTo('#container').animate({ 'top': '2000px'}, 5000);​