我正在使用 jquery 制作效果,其中一个悬停在侧栏上并显示导航栏,但导航本身具有一些效果属性,因此当单击一个时dd
,它会显示 3 个孩子dt
并隐藏其余的但目前它只显示第一个 dt 并隐藏其余部分......为什么 close 方法在这里不起作用是代码。
<html>
<head>
<title></title>
<script src="Jquery.js">
</script>
</head>
<body>
<div class="nav">
<dl>
<dt>
<dd>One</dd>
<dd>Two</dd>
<dd>Three</dd>
</dt>
<dt>
<dd>Four</dd>
<dd>Five</dd>
<dd>Six</dd>
</dt>
<dt>
<dd>Seven</dd>
<dd>Eight</dd>
<dd>Nine</dd>
</dt>
</dl>
</div>
<div class="sideBar"></div>
<script type="text/javascript">
var Sides={
sideBar:$("div.sideBar"),
nav:$("div.nav"),
dd:$("div.nav dd"),
dt:$("div.nav dt"),
init:function () {
Sides.sideBar.on("mouseenter",this.show);
},
show:function () {
Sides.nav.close.call(nav);
Sides.nav.fadeIn(2000).filter(":nth-child(n+8)").hide();
Sides.dd.on("click",function () {
Sides.dd.next("dt").slideDown(500).siblings("dt").hide();
})
},
close:function () {
Sides.nav.on("mouseleave",function () {
$(this).fadeOut(1400)
})
}
}
Sides.init();
</script>
</body>
</html>