2011-11-28 215 views
0

我发现此代码可以制作一个菜单,当用户单击页面内的减号时会折叠。但是当页面第一次加载时,菜单会显示主项目中的所有内容。我想在页面加载时使页面显示主要项目。这是代码:在JavaScript中展开折叠菜单HTML

<script langauge="JavaScript" type="text/javascript"> 
function doMenu(item) { 
obj=document.getElementById(item); 
col=document.getElementById("x" + item); 
if (obj.style.display=="none") { 
    obj.style.display="block"; 
    col.innerHTML="[-]"; 
} 
else { 
    obj.style.display="none"; 
    col.innerHTML="[+]"; 
} 
} 
</script> 
</head> 
<body> 
<a href="JavaScript:doMenu('main');" id=xmain>[+]</a> Main Item 
<div id=main style="margin-left:1em"> 
<a href=#>Item 1</a><br> 
<a href=#>Item 2</a><br> 
<a href=#>Item 3</a> 
</div> 
<br> 
</body> 
</html> 

如果有人能告诉我如何改变代码来做到这一点,我将非常感激。

感谢

回答

0
window.addEventListener('load', function(){ 
    document.getElementById('main').style.display = 'none'; 
}, false); 
0

变化:

<a href="JavaScript:doMenu('main');" id=xmain> 

到:

<a href="JavaScript:doMenu('main');" style="display: none;" id=xmain> 

顺便说一句,一些旁注您发现该代码是不是很好。如果这是一个专业项目,我不会使用它。

其一,我会改变:

obj.style.display="block"; 

到:

obj.style.display=""; 

为了避免在某些浏览器的一些错误。

+0

没有工作只是隐藏+ – user1049553

+0

哎呀,误解了代码。 Matthew Strawbridge说得对。 – Ariel

0

我认为,改变

<div id=main style="margin-left:1em"> 

<div id=main style="margin-left:1em; display:none"> 

应该工作。