您好我正试图隐藏div
鼠标进入身体,它无法正常工作,我试图隐藏的div
,将隐藏并再次出现。结帐fiddle
这是我的代码:
JS:
$(document).mouseenter(function() {
$('.jadu').hide(10);
}).mouseout(function(){
$('.jadu').show(10);
});
HTML:
<div class="jadu"></div>
CSS:
*{padding:0px;margin:0px;}
.jadu{
position:fixed;
width:100%;
height:100%;
background-color:#555;
opacity:0.8;
display:block;
z-index:3;
}
body{
background:red;
}
这是小提琴链接:Fiddle
答案 0 :(得分:3)
只需使用mouseleave
事件。
$(document).mouseenter(function() {
$('.jadu').hide(10);
}).mouseleave(function(){
$('.jadu').show(10);
});
在元素上使用mouseout
并且其中有一个子元素(document > .jadu
)时,当您悬停.jadu
元素(子元素)时会触发mouseout事件。
使用mouseleave
,当您将一个document
的孩子悬停时,不会触发此事件。
答案 1 :(得分:1)
看小提琴; http://jsfiddle.net/xibalbian/UaJZr/
$(document).mouseenter(function() {
$('.jadu').hide(10);
}).mouseleave(function(){
$('.jadu').show(10);
});
如果匹配的元素没有子元素,则mouseout()和mouseleave()事件的工作方式完全相同。
如果匹配的元素具有子元素,则mouseout()和mouseleave()事件的工作方式与“事件冒泡”不同。
你可以看到这个清楚解释的页面 - &gt; Difference between mouseout() and mouseleave()
答案 2 :(得分:0)
使用mouseleave事件。 jsfiddle
$(document).mouseenter(function() {
$('.jadu').hide(10);
});
$(document).mouseleave(function(){
$('.jadu').show(10);
});
答案 3 :(得分:0)
访问:JsFiddle
/* Do not use equal time in hide and show: */
$(document).mouseenter(function() {
$('.jadu').hide(100);
}).mouseout(function(){
$('.jadu').show();
});