2012-07-04 66 views
-1

我目前拥有的代码是这样的。将动画添加到已动态添加的新元素

function update(){ 
    latest_id = $('#image:first').data('position'); /* == 12 */ 
    $.ajax({ 
     type: "POST", 
     url: "../web/update/" + latest_id + "", 
     success: function(data) { 
      $('#my_like').after(data); 
      $('.newly-added').animate({"margin-left": "+=66px"}, "fast"); 
     }, 
     error: function(response) { 
      alert("failed"); 
     }, 
    }); 
} 

setInterval(function() { 
    update(); 
}, 4000); 

但是,因为该元素已新添加,它不会收到新的动画部分。我做了一些研究并找到了.live,但需要一些东西来启动它,例如点击。

+0

你能否提供更多的上下文?什么是'.newly-added'? AJAX是否返回“数据”?如果是这样,我不明白为什么你的当前代码不起作用,只要你将动画元素添加到DOM之后调用'animate'即可。 – Cecchi

+0

对不起,所返回的数据是一个新添加类的图像:) – Harry

+0

如果有什么方法可以将JsFiddle(可能不是用ajax,但是伪造一个响应或某物)放在一起,或者向我们展示一个活动示例它会有帮助的页面。也可以在'.animate()'之前尝试调用'console.log($('.new-added'))'以确保它确实在DOM中。 – Cecchi

回答

0

修正了jquery包含的问题。