0

这是我的代码

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”不会在克隆()之后移动。

事实上,如果我只写:

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

它也可以。我哪里错了?

4

3 回答 3

3

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

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

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

演示

于 2012-06-28T07:22:23.140 回答
1

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

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

newElement.appendTo("body").animate({ 'top': '2000px'}, 5000);​
于 2012-06-28T07:22:27.417 回答
1

您需要将其附加到 dom 树。演示。

newElement.appendTo('#container').animate({ 'top': '2000px'}, 5000);​
于 2012-06-28T07:22:55.497 回答