nav divを非表示にしてから、マウスがそれらの上にあるときにそれらを表示しようとしています。
.show() および .hide および .toggle で .hover 関数を使用してみました。また、表示と非表示、およびトグル機能を使用して、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;
}
各方法の複数のバリエーションを試しました。ここで何が欠けていますか?