jQuery实现鼠标经过事件的延时处理效果
作者:bea
jQuery鼠标经过(hover)事件的延时处理,具体JS代码如下: (function($){ $.fn.hoverDelay = function(options){ var defaults = { hoverDuring: 200, outDuring: 200, hoverEvent: function(){ $.noop(); }, outEvent: function(
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.trim() 函数及trim()用法详解
- JavaScript中的数据类型转换方法小结
- 如何实现JavaScript动态加载CSS和JS文件
- 基于javascript实现漂亮的页面过渡动画效果附源码下载
- JS实现的页面自定义滚动条效果
- JS实现的鼠标跟随代码(卡通手型点击效果)
- JS响应鼠标点击实现两个滑块区间拖动效果
- javaScript实现可缩放的显示区效果代码
- JS基于VML技术实现的五角星礼花效果代码
- jquery获取url参数及url加参数的方法
- JavaScritp添加url参数并将参数加入到url中及更改url参数的方法
- angular.bind使用心得
- 详解JavaScript编程中正则表达式的使用
- 实例解析JS布尔对象的toString()方法和valueOf()方法
- JavaScript编程中布尔对象的基本使用
- 举例讲解JavaScript中将数组元素转换为字符串的方法
- js实现跨域的几种方法汇总(图片ping、JSONP和CORS)
- 详解JavaScript编程中的数组结构
- 向JavaScript的数组中添加元素的方法小结