2013-02-23 139 views
-1

在此頁面...默認JavaScript值

http://www.utahrails.net/utahrails/bamberger_show-hide.php

...我想默認情況下,「內容」框,擴大,或者相當於單擊「顯示」。用戶可以隨時「隱藏」它,如果他們想要的話。這個腳本中需要更改什麼?

<script language="javascript" type="text/javascript"> 
function showHide(shID) { 
    if (document.getElementById(shID)) { 
     if (document.getElementById(shID+'-show').style.display != 'none') { 
     document.getElementById(shID+'-show').style.display = 'none'; 
     document.getElementById(shID).style.display = 'block'; 
     } 
     else { 
     document.getElementById(shID+'-show').style.display = 'inline'; 
     document.getElementById(shID).style.display = 'none'; 
     } 
    } 
} 
</script> 

我的目的是模仿維基百科。

+1

從您的CSS中移除該元素的'display:none'規則。 – 2013-02-23 22:37:59

+0

什麼沒有工作是嘗試「顯示:無」。任何其他想法? – 2013-02-24 04:05:35

+0

維基百科如何做到這一點?從查看他們的html,css或腳本中並不明顯。 – 2013-02-24 04:08:04

回答

0

在CSS文件

utahrails.css on line 1196 

您需要更改

display:none 

display:block 
+0

感謝您的迴應,但...默認顯示「顯示」文本,只有在選擇「隱藏」時才顯示。 – 2013-02-24 00:06:05

+1

@Don:然後在CSS中爲該元素設置「display:none」。 – 2013-02-24 03:24:51

1

首先改變你的代碼,這

function showHide(shID) { 
    var element = document.getElementById(shID); 
    if (element) { 
     if (element.style.display != 'none') { 
     element.style.display = 'none'; 
     element.style.display = 'block'; 
     } 
    else { 
     element.style.display = 'inline'; 
     element.style.display = 'none'; 
     } 
    } 
} 

緩存變量查找,否則您會多次查找相同的ID,並且會節省您編寫的代碼量。

+1

然後做什麼@Matt PsyK建議 – juan 2013-02-23 22:47:29

+0

我試過了,但它打破了這個功能。 「顯示」和「隱藏」鏈接停止工作。 – 2013-02-24 04:09:27