我试图简单地从隐藏的导航 div 开始,然后在鼠标悬停在它们上方时显示它们。
我曾尝试将 .hover 函数与 .show() 和 .hide 以及 .toggle 一起使用。我还尝试了带有显示和隐藏以及切换功能的 mouseeneter 和 mouseleave 功能。
真正奇怪的是我可以让它反向工作。我可以让它在鼠标悬停时隐藏并在鼠标退出时显示,尽管当鼠标在 div 内时它会闪烁。
这是 html 和 jQuery:
<html>
<head><title>Divs</title>
<link rel="stylesheet" type="text/css" href="reset.css" />
<link rel="stylesheet" type="text/css" href="divs.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("div.nav").mouseenter(function(e) {
e.stopPropagation();
$(this).show();
}).mouseleave(function(e) {
e.stopPropagation();
$(this).hide();
});
});
</script>
</head>
<body>
<div id="mask">
<div id="leftNav" class="nav"></div>
<div id="rightNav" class="nav"></div>
</div>
</body>
</html>
这是我尝试用于 .hover 函数的代码:
$("div.nav").hover(function() {
$(this).toggle();
}, function() {
$(this).toggle();
});
这是CSS:
div#mask {
position:relative;
width:100%;
height:100%;
background-color:#4b4747;
}
div.nav {
display:none;
}
div#leftNav {
background-color:red;
width:10%;
height:100%;
position:absolute;
top:0;
left:0;
z-index:8000;
}
div#rightNav {
background-color:red;
width:10%;
height:100%;
position:absolute;
top:0;
right:0;
}
div#pictures {
display:none;
}
我尝试了每种方法的多种变体。我在这里想念什么?