第二 showmenu 是函数名字,可以自己命名,规则和变量名规则一样
第三 触发这个函数时 把子菜单的显示属性设置为显示 如果是hidden 则隐藏。menu是子菜单对象 style是子菜单的样式对象,也可以说是样式属性 visibility是设置网页元素显示与否的样式属性 这里可以改成menu.style.display=""
第四 document.onclick = hidmenu;是给网页单击事件指定处理函数
这是例子,如果是放到实际网页里就不能这么写了
最好是给每个a标签指定 onclick事件
像下边一样 <a href="javascript:showmenu()">下拉菜单</a>
我给你一个经典的下拉3级连动菜单代码:自己慢慢研究
<!-- 把下面的代码加到<BODY></BODY>区域中: -->
<FORM name="isc">
<table border="0" cellspacing="0" cellpadding="0">
<tr align="center">
<td nowrap height="11">
<select name="example" size="1" onChange="redirect(this.options.selectedIndex)">
<option selected>---Select1-------------</option>
<option>Webmaster Sites</option>
<option>News Sites</option>
</select>
<select name="stage2" size="1" onChange="redirect1(this.options.selectedIndex)">
<option value=" " selected></option>
<option value=" " selected>---Select2--------------</option>
<option value=" " selected>---Select2--------------</option>
</select>
<select name="stage3" size="1" onChange="redirect2(this.options.selectedIndex)">
<option value=" " selected></option>
<option value=" " selected>---Select3----------------</option>
<option value=" " selected>---Select3----------------</option>
</select>
<script>
var groups=document.isc.example.options.length
var group=new Array(groups)
for (i=0i<groupsi++)
group[i]=new Array()
group[0][0]=new Option("---Select2---"," ")
group[1][0]=new Option("Now Select This One"," ")
group[1][1]=new Option("JavaScript","47")
group[1][2]=new Option("DHTML","46")
group[1][3]=new Option("CGI","45")
group[2][0]=new Option("Now Select This One"," ")
group[2][1]=new Option("General News","115")
group[2][2]=new Option("Technology News","116")
var temp=document.isc.stage2
function redirect(x){
for (m=temp.options.length-1m>0m--)
temp.options[m]=null
for (i=0i<group[x].lengthi++){
temp.options[i]=new Option(group[x][i].text,group[x][i].value)
}
temp.options[0].selected=true
redirect1(0)
}
var secondGroups=document.isc.stage2.options.length
var secondGroup=new Array(groups)
for (i=0i<groupsi++) {
secondGroup[i]=new Array(group[i].length)
for (j=0j<group[i].lengthj++) {
secondGroup[i][j]=new Array() }}
secondGroup[0][0][0]=new Option("---Select 3---"," ")
secondGroup[1][0][0]=new Option("---Select 3---"," ")
secondGroup[1][1][0]=new Option("Now Select This One"," ")
secondGroup[1][1][1]=new Option("Website Abstraction","http://wsabstract.com")
secondGroup[1][1][2]=new Option("JavaScript for the non programmer","http://webteacher.com/javascript/")
secondGroup[1][1][3]=new Option("Java-Scripts.net","http://java-scripts.net")
secondGroup[1][2][0]=new Option("Now Select This One"," ")
secondGroup[1][2][1]=new Option("Dynamic Drive","http://www.dynamicdrive.com")
secondGroup[1][2][2]=new Option("Beginner\'s Guide to DHTML","http://www.geocities.com/ResearchTriangle/Facility/4490/")
secondGroup[1][2][3]=new Option("Web Coder","http://webcoder.com/")
secondGroup[1][3][0]=new Option("Now Select This One"," ")
secondGroup[1][3][1]=new Option("CGI Resources","http://www.cgi-resources.com")
secondGroup[1][3][2]=new Option("Ada\'s Intro to CGI","http://adashimar.hypermart.net/")
secondGroup[2][0][0]=new Option("---Select 3---"," ")
secondGroup[2][1][0]=new Option("Now Select This One"," ")
secondGroup[2][1][1]=new Option("CNN","http://www.cnn.com")
secondGroup[2][1][2]=new Option("MSNBC","http://www.msnbc.com")
secondGroup[2][1][3]=new Option("ABC News","http://www.abcnews.com")
secondGroup[2][2][0]=new Option("Now Select A Page"," ")
secondGroup[2][2][1]=new Option("News.com","http://www.news.com")
secondGroup[2][2][2]=new Option("Wired","http://www.wired.com")
var temp1=document.isc.stage3
function redirect1(y){
for (m=temp1.options.length-1m>0m--)
temp1.options[m]=null
for (i=0i<secondGroup[document.isc.example.options.selectedIndex][y].lengthi++){
temp1.options[i]=new Option(secondGroup[document.isc.example.options.selectedIndex][y][i].text,secondGroup[document.isc.example.options.selectedIndex][y][i].value)
}
temp1.options[0].selected=true
}
function redirect2(z){
window.location=temp1[z].value
}
</script>
</td>
</tr>
</table>
</FORM>