在JavaScript HTML中展开折叠菜单

时间:2011-11-28 22:16:02

标签: 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>

如果有人能告诉我如何更改代码来执行此操作,我将非常感激。

由于

3 个答案:

答案 0 :(得分: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="";

避免在某些浏览器中出现一些错误。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

我认为改变了

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

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

应该有用。