js使用面向对象编写下拉菜单

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style type="text/css">
* {
padding: 0;
margin: 0;
list-style: none;
} .all {
width: 330px;
height: 30px;
background: url(img/bg.jpg) no-repeat;
margin: 100px auto;
line-height: 30px;
text-align: center;
padding-left: 10px;
margin-bottom: 0;
} .all ul li {
width: 100px;
height: 30px;
background: url(img/libg.jpg);
float: left;
margin-right: 10px;
position: relative;
cursor: pointer;
} .all ul ul {
position: absolute;
left: 0;
top: 30px;
display: none;
}
</style>
</head> <body>
<div class="all">
<ul id="list">
<li>一级菜单
<ul>
<li>二级菜单</li>
<li>二级菜单</li>
<li>二级菜单</li>
</ul>
</li>
<li>一级菜单
<ul>
<li>二级菜单</li>
<li>二级菜单</li>
<li>二级菜单</li>
</ul>
</li>
<li>一级菜单
<ul>
<li>二级菜单</li>
<li>二级菜单</li>
<li>二级菜单</li>
</ul>
</li>
</ul>
</div>
</body> </html>
<script>
window.onload = function () {
new ListMenu().init();
} function ListMenu() {
this.list = list.children;
this.init = function () {
for (let i = 0; i < this.list.length; i++) {
this.list[i].onmouseenter = function () {
this.show(this.list[i].children[0]);
}.bind(this)
this.list[i].onmouseleave = function () {
this.hide(this.list[i].children[0]);
}.bind(this)
}
}
this.show = function (obj) {
obj.style.display = "block";
}
this.hide = function (obj) {
obj.style.display = "none";
}
}
</script>
上一篇:[转载] 已知strcpy的函数原型:char *strcpy(char *strDest, const char *strSrc),编写函数 strcpy(C++版)


下一篇:cocos2d-x游戏开发系列教程-坦克大战游戏关卡选择场景的编写下