2013-02-02 37 views
2

Ajax設置了一個場景,然後jQuery將其展示出來。該元素在加載頁面之前不存在。我需要一種方法來動畫添加到頁面的動畫。爲加載頁面時不存在的東西設置動畫

喜歡的東西:

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

是否像這樣的東西存在嗎?

好的,似乎有一些混淆,我使用隊列()這不是創建它或在我有ajax返回後做某事的問題。程序生成Ajax後,將具有特定ID的圖像插入到頁面中。我需要重新加載dom或其他東西,以便可以爲插入頁面的對象設置動畫。

我已經在JSfiddle上測試了動畫並且它們工作正常,所以我唯一的假設是因爲這些對象不是初始dom的一部分,所以它們不會動畫,因此我需要DOM來重新加載。

+0

是的。它存在。 – hjpotter92

+0

所以創建它時就會動畫。你面臨什麼問題? –

+0

它實際上並沒有動畫。這工作http://jsfiddle.net/emFpw/3/所以我的假設是,因爲元素是在DOM需要重新加載頁面之後創建的。 – Iscariot

回答

0

所有你需要做的就是用正確的功能設置動畫,如:

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

一旦#不存在的元素存在,無論它是否會在頁面加載存在將動畫。當您想要將事件綁定到頁面加載時不存在的元素時,您只需要使用on()。

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

+0

我有一些幾乎相同的東西,它不會運行。我重建了這一切,只是在頁面加載前將寵物留在頁面上,然後將圖像放置在頁面中。不過我會再試一次。 – Iscariot

-1

當內容通過Ajax加載,我們需要綁定的事件對他們的工作,或者我們可以使用直播/ jQuery的方法將結合該事件,要麼父母/文件取決於我們想要的。

這兩種技術中的任何一種,即裝入內容或使用live/on時的綁定應該導致事件被觸發。

例如:一旦插入的內容我們可以按Lrdwhyt在上面的答案中建議的方式做。 或者我們在加載之前綁定元素,如

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