2010-07-13 283 views
0

我正在使用JQUERY動畫顯示頁面頂部的橫幅,這是一個設置在頂部-60以隱藏它的DIV。我使用以下JS調用來顯示DIV:JQUERY動畫延遲?

// Animation 
$('#message-dock').animate({ 
    top: 0 
}, 500, function() { 
    // Animation complete. 
}); 

我想不通的是由於某種原因出現不必要的延遲之前,我開始看到div和我想不通爲什麼?有任何想法嗎?

+1

不必要的延遲?時間0是?你能給更多的上下文嗎?這種動畫效果是否應該發生以響應事件?在ajax電話之後?或一旦頁面加載? – 2010-07-13 03:29:58

回答

1

爲什麼不直接將div的css設置爲display:none;,然後在要顯示它時使用$("#message-dock").show('slow');?沒有「緩慢」或「快速」的作品。

0

我與斯科特的協議是,你的延遲相關,當腳本正在跑去。如果你沒有等待就緒狀態,我會直接在html#message-dock元素下面放置腳本;但是,如果您嘗試在其他腳本運行時設置動畫,則「不會」成爲乾淨的動畫。使用CDN是動畫#消息碼頭腳本之前下載的jquery.js http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js地方的jquery.js ...這將導致jQuery來的HTML之前下載這樣一個內容分發網絡(CDN)是最好的一段路要走。

當其他腳本運行時,可能會發生什麼:動畫開始,一切已經下載之前......另一個腳本運行,這需要一些時間,直到它完成阻止被順利動畫...動畫檢查,看多少下來決定頂部在零,並顯示它沒有任何動畫 - 只是一個延遲的外觀。

要了解您的網頁如何下載,您可以使用http://www.webpagetest.org/