jquery鼠标经过延时处理

转载:http://www.jiaoben8.cn/Article-id112.html

在jquery实际开发中,我们有时会用到鼠标经过显示隐藏层这样的效果,其实这种效果随处可见,在jquery中有一个hover事件可以完成类是效果,代码很简单,如下:

$(document).ready(function(){

            $("选择器").hover(function(){

            //鼠标经过需要执行的事件            

            },function(){

            //鼠标离开需要执行的事件

})

虽然代码SO EASY,但是如果你用的是滑上,滑下的这种动画效果的话,鼠标来回滑动,就会出现事件多次响应,那效果,不懂的人还以为是动画片呢,其实这并不是我们想要的结果,况且这对于用户体验也不好,所以我们就引出了延时的概念,原理是,只要在一个时间的范围内,我就响应这个事件,当然这个时间不能太长,不然用户早就离开,还响应的屁呀。。

废话不多说,直接上代码。。

$(document).ready(function(){
var mouseover_tid = [];
var mouseout_tid = [];
$("#nav").hover(function(index){
// 鼠标进入
var _self = this;
// 停止卷起事件
clearTimeout(mouseout_tid[index]);//当鼠标经过的时候,我先停止鼠标离开的动作
// 当鼠标进入超过 0.2 秒, 展开菜单, 并记录到线程 ID 中
mouseover_tid[index] = setTimeout(function() {
jQuery(_self).find(".list").slideDown('fast');
}, 400);
},function(index){
var _self = this;
// 停止展开事件
clearTimeout(mouseover_tid[index]);
// 当鼠标离开超过 0.2 秒, 卷起菜单, 并记录到线程 ID 中
mouseout_tid[index] = setTimeout(function() {
jQuery(_self).find(".list").slideUp('fast');
}, 400);
})
效果请参见http://www.jiaoben8.cn/Specia-id111.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值