关于hover事件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于hover事件相关的知识,希望对你有一定的参考价值。
使用jq的hover事件,我有一个div设置的display:none;是应该隐藏的,但是在加载的时候鼠标放在该div上,会出现不默认隐藏的情况,求指教
<ul id="nav_ul" class="coprize-clearfix">
<li> <div class="nav_relative"><a>第一<span></span></a>
<ul class="nav_absolute hide">
<li><a>111</a></li>
<li><a>222</a></li>
</ul>
</div>
</li>
<li>
</ul>
$('#nav_ul>li').hover(function ()
$(this).find('.nav_absolute').stop(true, false).slideToggle(200);
$(this).toggleClass("head-e5");
);
现在就是想,鼠标直接放在li上面,然后刷新,li不会被显示出来,鼠标移出再移入就正常显示和隐藏
追答把那个hover方法写在 页面加载完之后
追问试过了,仍然是老样子
参考技术A 把代码贴出来看看,,这样很难判断出什么问题追问重新贴了一下代码,帮我看看,现在就是想,鼠标直接放在li上面,然后刷新,li不会被显示出来,鼠标移出再移入就正常显示和隐藏
追答看代码没什么问题,但是问题应该是出在slideToggle方法上。如果你引用的是1.4.2版本以后的jquery类库的话,slideToggle是不可以用了,已经被摒弃了,你如果使用了你刷新页面就会出现显示了然后自动缩回去。并不是hover方法的问题。
追问有什么方法代替slideToggle方法吗?我想要效果和它一样
追答能够替代的方法没有,但是你可以自己模拟一个,非常简单,效果你直接采用slideDown()和slideUp();当你鼠标上浮的时候用slideDown,鼠标移出的时候用slideUp就可以了,写了个小例子;你参考下吧
<!DOCTYPE html><html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript" src="jquery-1.9.1.min.js"></script>
<style>
.leve1 uldisplay:none;
.leve1line-height:30px;border-bottom:1px solid #333;
</style>
</head>
<body>
<ul>
<li class="leve1">aaaaaaaaaaaaa
<ul>
<li>子类子类子类子类子类</li>
<li>子类子类子类子类子类</li>
<li>子类子类子类子类子类</li>
<li>子类子类子类子类子类</li>
</ul>
</li>
<li class="leve1">bbbbbbbbbbbb</li>
<li class="leve1">cccccccccccc</li>
</ul>
<script type="text/javascript">
$(function ()
$(".leve1").hover(function ()
$(this).find("ul").slideDown();
,function ()
$(this).find("ul").slideUp();
)
)
</script>
</body>
</html>追问
昨天问完你后我就找到了答案,刚刚才看到你的,跟你写的方式差不多,谢谢了
本回答被提问者采纳jquery hover事件
一样涉及的是鼠标的事件,作为人机交互的主要途径,那么鼠标的一入一出也是我们关注的重点,那么此函数就是这个作用。
function () {
$(this).addClass("hover");
},
function () {
$(this).removeClass("hover");
}
);
以上是关于关于hover事件的主要内容,如果未能解决你的问题,请参考以下文章