2013-03-24 79 views
0

我正在製作一個應該美化某個網站的Chrome擴展。我隱藏了除了一個以外的所有元素。但問題在於,每當網站加載時,首先會加載所有內容,然後隱藏。這裏是我的代碼在dom-load上隱藏內容

window.onload = function(){ 

var all = document.getElementsByTagName("div"); 
var viewer = document.getElementById("viewer").style; 

for (var i=0, max=all.length; i < max; i++) { 
    all[i].style.visibility='hidden'; 
} 

viewer.visibility='visible'; 

}; 

我希望有這樣做比我在做什麼,現在,它基本上加載所有內容隱藏所有內容,然後進行一定的分量可見的更好的方法。 整個過程非常緩慢,用戶可以看到我試圖隱藏在頁面加載中的內容。

有沒有什麼方法可以通過javascript指定要加載的內容,還是爲了讓整個過程足夠快而不被注意到?

+0

'window.onload'是錯誤的事件。 [「雖然JavaScript在頁面呈現時提供執行代碼的加載事件,但直到所有資產(如圖像)都已完全收到後纔會觸發此事件。」](http://api.jquery.com/ready/)你需要儘快執行你的代碼。 – user113215 2013-03-24 17:44:27

回答

1

這裏的jQuery將是你的朋友。它非常快。

$(document).ready(function() { 
    $('div').not('#viewer').hide(); 
});