2012-11-26 94 views
0

我只是與一些JavaScript鬼混我是新手,所以這可能是一個簡單的解決方案。基本上我只想要一次只顯示1 div,所以如果用戶點擊一個鏈接以顯示div,則當前顯示的div將會崩潰,並且會顯示新的點擊。如果有人能指出我正確的方向,我將不勝感激。我已經包含下面的代碼:一次只顯示一個div用javascript

<html> 
    <head> 

     <title> test</title> 
     <LINK href="blah.css" rel="stylesheet" type="text/css"> 
     <script language="javascript" type="text/javascript"> 
     function toggle2(showHideDiv, switchTextDiv) { 
    var ele = document.getElementById(showHideDiv); 
    var text = document.getElementById(switchTextDiv); 
    if(ele.style.display == "block") { 
      ele.style.display = "none"; 
     text.innerHTML = "restore"; 
    } 
    else { 
     ele.style.display = "block"; 
     text.innerHTML = "collapse"; 
    } 
} 
    function toggle22(showHideDiv2, switchTextDiv2) { 
    var ele = document.getElementById(showHideDiv2); 
    var text = document.getElementById(switchTextDiv2); 
    if(ele.style.display == "block") { 
      ele.style.display = "none"; 
     text.innerHTML = "restore"; 
    } 
    else { 
     ele.style.display = "block"; 
     text.innerHTML = "collapse"; 
    } 
} 


     </script> 
    </head> 
    <body> 
     <div id="mainContent">  
<div id="headerDiv"> 
    <div id="titleText">Change Password - Click here ==></div><a id="myHeader" href="javascript:toggle2('myContent','myHeader');" >restore</a> 
</div> 

<div style="clear:both;"></div> 

<div id="contentDiv"> 
    <div id="myContent" style="display: none;">This is the content that is dynamically being collapsed.</div> 

<!--DIV2 --> 

<div id="headerDiv2"> 
    <div id="titleText2">Change Username - Click here ==></div><a id="myHeader2" href="javascript:toggle22('myContent2','myHeader2');" >restore</a> 
</div> 

<div style="clear:both;"></div> 

<div id="contentDiv2"> 
    <div id="myContent2" style="display: none;">This is the content that is dynamically being collapsed.</div> 




</div> 
     </div> 
    </body> 
</html> 

的CSS:

#headerDiv, #contentDiv { 
float: left; 
width: 510px; 
} 
#titleText { 
float: left; 
font-size: 1.1em; 
font-weight: bold; 
margin: 5px; 
} 
#myHeader { 
font-size: 1.1em; 
font-weight: bold; 
margin: 5px; 
} 
#headerDiv { 
background-color: #0037DB; 
color: #9EB6FF; 
} 
#contentDiv { 
background-color: #FFE694; 
} 
#myContent { 
margin: 5px 10px; 
} 
#headerDiv a { 
color: gold; 
float: right; 
margin: 10px 10px 5px 5px; 
} 
#headerDiv a:hover { 
color: #FFFFFF; 
} 




#headerDiv2, #contentDiv2 { 
float: left; 
width: 510px; 
} 
#titleText2 { 
float: left; 
font-size: 1.1em; 
font-weight: bold; 
margin: 5px; 
} 
#myHeader2 { 
font-size: 1.1em; 
font-weight: bold; 
margin: 5px; 
} 
#headerDiv2 { 
background-color: #0037DB; 
color: #9EB6FF; 
} 
#contentDiv2 { 
background-color: #FFE694; 
} 
#myContent2 { 
margin: 5px 10px; 
} 
#headerDiv2 a { 
color: gold; 
float: right; 
margin: 10px 10px 5px 5px; 
} 
#headerDiv2 a:hover { 
color: #FFFFFF; 
} 

回答

0

style.display只反映是這樣的元素上明確設置的樣式。除非在HTML中指定style="display:block",否則style.display的初始值將爲空,即使CSS級聯應用的該屬性的默認值確實爲block