2009-10-03 58 views
0

我有一個用jQuery實現的傳送帶。jQuery和CSS - >推遲顯示

有時我在頁面上可能需要一些時間來加載其他事情,會發生什麼是旋轉木馬開始顯示沒有它的CSS渲染好。這會在傳送帶上顯示一行所有圖像,只顯示在頁面上。

給它~0.2秒,一切都很好,即CSS啓動並且傳送帶顯示正確。

我的問題是,是否有解決方法,甚至是拖延輪播展示的「標準」方式,直到我們確定頁面的其餘部分已加載。

傳送帶已經設置爲加載document.ready。

回答

0

你還沒有說過輪播是如何實現的; html代碼是什麼樣的,你使用的是什麼jquery插件,以及css是什麼樣的,所以很難回答這個問題。

這聽起來像你使用jquery將頁面中的圖像標籤轉換成傳送帶。如果所有圖像都在同一個div內,那麼只需使用display隱藏div:hidden。如果你希望它們在CSS加載之前被隱藏,那麼你需要將這個CSS設置直接應用到div標籤中作爲一個屬性。

更好的解決方案是在頁面加載後使用javascript/jquery添加圖像。這樣,它們不會在css或jquery準備好之前呈現爲一行。

+1

請參閱,你真的不需要知道代碼畢竟。 一個非常好的答案。謝謝。 – adergaard 2009-10-03 09:03:08

0

如果使用JavaScript添加所有圖像,那麼對於禁用了javascript的用戶將不會顯示任何內容。因此,如果您的輪播展示過早,那麼您可能需要將調用輪播的腳本移至頁面底部。在頁面加載

0

添加JS類的身體,

不至轉盤僅限制用戶啓用JavaScript, referene這些圖像與

.js .imgParent > img { 
    display: none 
} 

那麼你可以rereference這些圖像在您的JavaScript和重新啓用它們 (沒有JavaScript的用戶將顯示普通圖像)