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 相关文章推荐
自动更新作用
Oct 08 Javascript
JavaScript实现网页对象拖放功能的方法
Apr 15 Javascript
原生js编写autoComplete插件
Apr 13 Javascript
微信小程序 icon组件详细及实例代码
Oct 25 Javascript
layer实现弹窗提交信息
Dec 12 Javascript
JavaScript实现定时页面跳转功能示例
Feb 14 Javascript
Angular中的interceptors拦截器
Jun 25 Javascript
Three.js利用性能插件stats实现性能监听的方法
Sep 25 Javascript
Easy UI动态树点击文字实现展开关闭功能
Sep 30 Javascript
用vue写一个仿简书的轮播图的示例代码
Mar 13 Javascript
微信小程序点击保存图片到本机功能
Dec 13 Javascript
ES6函数实现排它两种写法解析
May 13 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
php面向对象全攻略 (九)访问类型
2009/09/30 PHP
PHP CKEditor 上传图片实现代码
2009/11/06 PHP
yii框架配置默认controller和action示例
2014/04/30 PHP
浅析PHP7新功能及语法变化总结
2016/06/17 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
2017/04/27 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
PHP面向对象程序设计之多态性的应用示例
2018/12/19 PHP
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
2020/08/17 PHP
artDialog 4.1.5 Dreamweaver代码提示/补全插件 附下载
2012/07/31 Javascript
使用jQuery异步加载 JavaScript脚本解决方案
2014/04/20 Javascript
JavaScript比较两个对象是否相等的方法
2015/02/06 Javascript
jQuery子窗体取得父窗体元素的方法
2015/05/11 Javascript
SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
2015/12/10 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
JS设置CSS样式的方式汇总
2017/01/21 Javascript
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
2017/02/27 Javascript
JavaScript实现精美个性导航栏筋斗云效果
2017/10/29 Javascript
详解如何模拟实现node中的Events模块(通俗易懂版)
2019/04/15 Javascript
js简单遍历获取对象中的属性值的方法示例
2019/06/19 Javascript
[00:31]DOTA2荣耀之路7:Miracle-空血无敌斩
2018/05/31 DOTA
python实现保存网页到本地示例
2014/03/16 Python
python端口扫描系统实现方法
2014/11/19 Python
python实现定时播放mp3
2015/03/29 Python
python3.6.3+opencv3.3.0实现动态人脸捕获
2018/05/25 Python
Python实现网页截图(PyQT5)过程解析
2019/08/12 Python
Python实现钉钉订阅消息功能
2020/01/14 Python
django 实现简单的插入视频
2020/04/07 Python
python IP地址转整数
2020/11/20 Python
详解如何使用CSS3中的结构伪类选择器和伪元素选择器
2020/01/06 HTML / CSS
巴西最大的家具及装饰用品店:Mobly
2017/10/11 全球购物
英国在线药房和在线药剂师:Chemist 4 U
2020/01/05 全球购物
项目总经理岗位职责
2014/02/14 职场文书
个人委托书格式
2014/04/04 职场文书
春季防火方案
2014/05/10 职场文书
焦裕禄精神心得体会
2014/09/02 职场文书
详解使用 CSS prefers-* 规范提升网站的可访问性与健壮性
2021/05/25 HTML / CSS