2013-10-03 72 views
4

我使用以下代碼來切換一個div區域的可見性:如何使默認使用JavaScript隱藏div?

<script type="text/javascript"> 
function toggle_visibility(id) { 
    var e = document.getElementById(id); 
    if(e.style.display == 'block') 
     e.style.display = 'none'; 
    else 
     e.style.display = 'block'; 
} 
</script> 

要切換它,我使用的onclick = 「toggle_visibility( 'id_of_element_to_toggle');」

我不喜歡的部分是,這會在頁面加載時默認顯示。我怎樣才能使它隱藏默認,直到它被切換爲可見?如果可能,我想在同一個JavaScript塊中執行此操作。越簡單越好。

如何一次切換2個div的可見性?讓他們切換。

+0

你正在尋找CSS,而不是JS默認隱藏它...... – Ian

+4

使用CSS,'display:none',這裏不需要Javascript –

+0

所以如果我只是做style =「display:none」in應該這樣做的div標籤? – Arringar1

回答

6

,因爲你使用CSS來切換它,你應該使用CSS來設置它的初始狀態: display:nonestyle屬性或者理想在全球樣式表內聯。

4

最簡單的辦法是設置這個在CSS,然後從該樣式是由瀏覽器執行應用,你的Javascript前的那一刻隱藏它會真正被設置:

div.item_name { display: none; } 
3

你需要調用它:

<script type="text/javascript"> 

toggle_visibility('id_of_element_to_toggle'); 

function toggle_visibility(id) { 
    var e = document.getElementById(id); 
    if(e.style.display == 'block') 
     e.style.display = 'none'; 
    else 
     e.style.display = 'block'; 
} 
</script> 

您可以添加一些CSS太:

#id_of_element_to_toggle{display:none;} 

性能W¯¯用CSS來生病會更快。

+0

+1這實際上回答OP的問題,並提供更好的CSS替代 –

+0

看起來像所有的答案回答這個問題,只是不同程度的細節。 – Brenden

1

試試這個

<!DOCTYPE html> 
    <html> 
    <body> 
    <script type="text/javascript"> 
     function toggle_visibility(id) { 
      var e = document.getElementById(id); 
      if(e.style.display == 'block') 
       e.style.display = 'none'; 
      else 
       e.style.display = 'block'; 
     } 
    </script> 
    <a href="#" onclick="toggle_visibility('foo');">Click here to toggle visibility of element #foo</a> 
    <div id="foo" style="display:none">toggle visibility.</div> 


    </body> 
    </html> 
+0

給男人一條魚,教一個男人去釣魚...教他一些東西 – Brenden

2

在這樣的情況下我使用CSS隱藏的div,內聯的或者在樣式表中,所以它是默認隱藏。

<div style="display:none;"> 

或者,你可以加載DIV沒有內容,然後通過與e.innerHTML =「一些內容」或者阿賈克斯你的JavaScript填充它?