动画页面加载时不存在的内容

时间:2013-02-02 02:49:31

标签: javascript jquery dom jquery-animate

Ajax设置一个场景,然后jQuery播放它。在加载页面之前元素不存在。我需要一种方法来动画添加到页面中的动画。

类似的东西:

$(document).on("animate", "div", function (){});

这样的事情是否存在?

好吧,似乎有一些混乱,我正在使用queue()这不是创建它或在我有ajax返回后做某事的问题。在Ajax之后,程序构建并将具有特定ID的imgs插入到页面中。我需要重新加载dom或其他东西,以便我可以为插入页面的对象设置动画。

我已经在JSfiddle上测试了动画并且它们工作正常,所以我唯一的假设是因为这些对象不是初始dom的一部分,所以它们不会动画,因此我需要重新加载DOM。

2 个答案:

答案 0 :(得分:0)

您所要做的就是使用正确的功能为其设置动画,例如:

$("#nonexistent-element").animate({
  right: '10%'
});

一旦#noxistent-element存在,它就会生成动画,无论它是否存在于页面加载中。当您想要将事件绑定到页面加载时不存在的元素时,您只需要使用on()。

工作jsfiddle:http://jsfiddle.net/emFpw/26/

答案 1 :(得分:-1)

当通过Ajax加载内容时,我们需要绑定事件以使它们起作用,或者我们可以使用jQuery的live / on方法,它将事件绑定到父/文档,具体取决于我们想要的内容。

两种技术中的任何一种,即在加载内容时使用绑定或使用live / on都会导致事件被触发。

例如:插入内容后,我们可以按照上面答案中 Lrdwhyt 的建议进行操作。 或者我们在加载之前将元素绑定为

$("#non-existing-elem").live("click",function(){
     $(this).animate({right:'10'});
})