jQuery实现鼠标经过事件的延时处理效果


Posted in Javascript onAugust 20, 2020

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)事件的延时处理全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
document.getElementById介绍
Sep 13 Javascript
HTTP 304错误的详细讲解
Nov 13 Javascript
jQuery分别获取选中的复选框值的示例
Jun 17 Javascript
jQuery中removeAttr()方法用法实例
Jan 05 Javascript
React组件的三种写法总结
Jan 12 Javascript
JS使用正则表达式验证身份证号码
Jun 23 Javascript
jquery动态添加带有样式的HTML标签元素方法
Feb 24 jQuery
JS实现简单的星期格式转换功能示例
Jul 23 Javascript
jQuery实现的点击图片居中放大缩小功能示例
Jan 16 jQuery
vue数据初始化initState的实例详解
Apr 11 Javascript
JavaScript中将值转换为字符串的五种方法总结
Jun 06 Javascript
基于JavaScript实现贪吃蛇游戏
Mar 16 Javascript
使用jquery动态加载Js文件和Css文件
Oct 24 #Javascript
JavaScript中数组的合并以及排序实现示例
Oct 24 #Javascript
使用javaScript动态加载Js文件和Css文件
Oct 24 #Javascript
js判断日期时间有效性的方法
Oct 24 #Javascript
JavaScript中日期的相关操作方法总结
Oct 24 #Javascript
JavaScript中Date对象的常用方法示例
Oct 24 #Javascript
js实现表单多按钮提交action的处理方法
Oct 24 #Javascript
You might like
如何分别全角和半角以避免乱码
2006/10/09 PHP
php下使用SimpleXML 处理XML 文件
2010/02/27 PHP
php读取mysql乱码,用set names XXX解决的原理分享
2011/12/29 PHP
访问编码后的中文URL返回404错误的解决方法
2014/08/20 PHP
php实现简单的语法高亮函数实例分析
2015/04/27 PHP
php中注册器模式类用法实例分析
2015/11/03 PHP
javascript 函数调用规则
2009/08/26 Javascript
JQuery 1.6发布 性能提升,同时包含大量破坏性变更
2011/05/10 Javascript
javascript中style.left和offsetLeft的用法说明
2014/03/07 Javascript
基于javascript实现图片滑动效果
2016/05/07 Javascript
Vue脚手架的简单使用实例
2018/07/10 Javascript
浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考
2019/01/08 Javascript
JS实现求5的阶乘示例
2019/01/21 Javascript
vue使用高德地图点击下钻上浮效果的实现思路
2019/10/12 Javascript
vue3 源码解读之 time slicing的使用方法
2019/10/31 Javascript
python实现的jpg格式图片修复代码
2015/04/21 Python
python实现自动登录人人网并采集信息的方法
2015/06/28 Python
python用10行代码实现对黄色图片的检测功能
2015/08/10 Python
十条建议帮你提高Python编程效率
2016/02/16 Python
在Python的一段程序中如何使用多次事件循环详解
2017/09/07 Python
python获取酷狗音乐top500的下载地址 MP3格式
2018/04/17 Python
深入浅析python 中的匿名函数
2018/05/21 Python
浅谈Python采集网页时正则表达式匹配换行符的问题
2018/12/20 Python
Python绘制并保存指定大小图像的方法
2019/01/10 Python
深入浅析Python 中 is 语法带来的误解
2019/05/07 Python
keras实现调用自己训练的模型,并去掉全连接层
2020/06/09 Python
Python基于staticmethod装饰器标示静态方法
2020/10/17 Python
python 基于opencv实现图像增强
2020/12/23 Python
html5实现微信打飞机游戏
2014/03/27 HTML / CSS
使用canvas来完成线性渐变和径向渐变的功能的方法示例
2019/07/25 HTML / CSS
Coach澳大利亚官方网站:美国著名时尚奢侈品牌
2017/05/24 全球购物
安全技术说明书
2014/05/09 职场文书
教师个人自我剖析材料
2014/09/29 职场文书
2014年社区教育工作总结
2014/12/02 职场文书
关于感恩的素材句子(38句)
2019/11/11 职场文书
win11怎么消除图标小盾牌?win11消除图标小盾牌解决方法
2022/08/05 数码科技