我有一個函數shoh(),它切換div的狀態 - 顯示或隱藏它。加載頁面時,通過將樣式更改爲display:none,可以爲每個div重複調用shoh($ id)以隱藏頁面。如果用戶想要查看隱藏div中的數據,他們點擊一個帶有onClick =「show($ id)」的鏈接,將div樣式更改爲顯示:block。這一切都很好。JavaScript更改div顯示:無 - 防止在javascript運行之前顯示div?
即使javascript被禁用,我也希望頁面可以正常工作,所以我必須將div默認爲可見,否則沒有javascript的用戶將永遠無法看到數據。問題是,當頁面加載時,所有的div都顯示爲可見,並且頁面需要在div隱藏之前完全加載。這在美觀上很差,並且會導致視覺混淆,因爲該頁面可能需要幾秒鐘才能加載。
有沒有什麼方法可以防止屏幕顯示div直到javascript有機會運行?我不介意顯示「加載...」或其他東西。提前致謝。
//toggle state of div - show OR hide - default is hidden
function shoh(id, cmd) {
// if cmd is not blank, clicked on button to expand all or collapse all
cmd = typeof cmd !== 'undefined' ? cmd : '';
if (document.getElementById(id)){
if ((document.getElementById(id).style.display == "none" || cmd=='show') && cmd!=='hide'){
//show
document.getElementById(id).style.display = 'block';
filter(("img"+id),'imgin');
setCookie(window.location.pathname + ":" + id, "show", 365)
} else {
//hide
document.getElementById(id).style.display = 'none';
filter(("img"+id),'imgout');
deleteCookie(window.location.pathname + ":" +id);
}
}
}
作品像魅力,謝謝!它使世界上的所有不同。 – mseifert
@ mseifert,太棒了! –