2011-08-12 106 views
1

我已經在我的網站滑塊:jQuery - 「等到準備好了」?

http://css-tricks.com/examples/AnythingSlider/

它工作正常,但我不喜歡它加載的方式(你可以看到圖像的清單,清單點之前準備好)。

有沒有繞過這一普遍的方式?如何在後臺加載滑塊,以便用戶不會看到它,直到完全加載(當它在後臺加載時,我可以顯示preloader.gif)。

我正在考慮不透明度:0 &在DOM中的滑塊後淡出它,但也許有其他方法?

回答

1

我傾向於使用以下模式:

// assumes slider is hidden 
var imgCount = $("#slider img").length; 
var loadCount = 0; 
$("#slider img").one("load", function() { 
    loadCount++; 
    if(loadCount === imgCount) { 

     // show slider once all images have loaded 
     showSlider(); 
    } 
}).each(function() { 
    if(this.complete) $(this).trigger("load"); 
}); 
+0

這有點複雜,我會盡快嘗試,但我想的是更通用的東西,這不僅適用於此滑塊,而且適用於任何元素。也許有一個庫,jQuery插件或類似的東西? – Wordpressor

+0

@Wordpressor - 這是一個通用的解決方案。 'showSlider'可以是任何東西。所有這一切都會計算'加載者'的負擔,一旦他們完成了,就做點什麼。 – karim79

0

我想說的應用CSS

.anythingSlider 
{ 
    display:none; 
} 

,然後滑塊加載後與jQuery改變它。

+0

很酷,但如何檢查,如果滑塊已經加載? – Wordpressor