jQuery实现鼠标经过事件的延时处理效果
jQuery鼠标经过(hover)事件的延时处理,具体JS代码如下:
(function($){
$.fn.hoverDelay = function(options){
var defaults = {
hoverDuring: 200,
outDuring: 200,
hoverEvent: function(){
$.noop();
},
outEvent: function(){
$.noop();
}
};
var sets = $.extend(defaults,options || {});
var hoverTimer, outTimer;
return $(this).each(function(){
$(this).hover(function(){
clearTimeout(outTimer);
hoverTimer = setTimeout(sets.hoverEvent, sets.hoverDuring);
},function(){
clearTimeout(hoverTimer);
outTimer = setTimeout(sets.outEvent, sets.outDuring);
});
});
}
})(jQuery);
hoverDelay方法共四个参数,表示意思如下:
- hoverDuring 鼠标经过的延时时间
- outDuring 鼠标移出的延时时间
- hoverEvent 鼠标经过执行的方法
- outEvent 鼠标移出执行的方法
该函数的目的在于让鼠标经过事件和延时分离的出来,延时以及延迟的清除都已经由此方法解决了。您所要做的,就是设定延时的时间大小,以及相应的鼠标经过或是移除事件即可。举个简单的例子吧,如下代码:
$("#test").hoverDelay({
hoverDuring: 1000,
outDuring: 1000,
hoverEvent: function(){
$("#tm").show();
},
outEvent: function(){
$("#tm").hide();
}
});
以下为更简洁的一个案例:
$("#test").hoverDelay({
hoverEvent: function(){
alert("经过 我!");
}
});
表示的含义是id为test的元素在鼠标经过后200毫秒后弹出含有“经过 我!”文字字样的弹出框。
以上就是关于jQuery鼠标经过(hover)事件的延时处理全部内容,希望对大家的学习有所帮助。
相关文章
jQuery插件HighCharts实现的2D对数饼图效果示例【附demo源码下载】
这篇文章主要介绍了jQuery插件HighCharts实现的2D对数饼图效果,结合实例形式分析了jQuery图形插件HighCharts绘制2D对数饼图的具体实现步骤与相关操作技巧,并附带demo源码供读者下载参考,需要的朋友可以参考下2017-03-03
基于$.ajax()方法从服务器获取json数据的几种方式总结
下面小编就为大家分享一篇基于$.ajax()方法从服务器获取json数据的几种方式总结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-01-01
为jquery.ui.dialog 增加“在当前鼠标位置打开”的功能
在使用jquery.ui.dialog的过程中,发现position参数有些问题,无法通过position: [PosX, PosY]动态传递位置参数。下面是官方demo 代码2009-11-11
jQuery is not defined 错误原因与解决方法小结
今天在测试一个程序的时候,明显已经加载了jquery但总是提示jQuery is not defined,经过多方测试终于发现了问题,这里简单总结一下,需要的朋友可以参考下2017-03-03


最新评论