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 相关文章推荐
jquery 元素控制(追加元素/追加内容)介绍及应用
Apr 21 Javascript
jquery实现人性化的有选择性禁用鼠标右键
Jun 30 Javascript
jQuery实现简易的天天爱消除小游戏
Oct 16 Javascript
基于JavaScript实现的顺序查找算法示例
Apr 14 Javascript
jQuery代码优化方法总结
Jan 29 jQuery
基于vue.js实现的分页
Mar 13 Javascript
微信小程序支付前端源码
Aug 29 Javascript
Vue表单控件绑定图文详解
Feb 11 Javascript
Nuxt项目支持eslint+pritter+typescript的实现
May 20 Javascript
JavaScript设计模式--桥梁模式引入操作实例分析
May 23 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
Aug 07 Javascript
在vue中使用eslint,配合vscode的操作
Nov 09 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记录日志的实现代码
2011/08/08 PHP
深入PHP nl2br()格式化输出的详解
2013/06/05 PHP
php数组转换js数组操作及json_encode的用法详解
2013/10/26 PHP
PHP针对字符串开头和结尾的判断方法
2016/07/11 PHP
php使用Jpgraph创建3D饼形图效果示例
2017/02/15 PHP
jquery miniui 教程 表格控件 合并单元格应用
2012/11/25 Javascript
JavaScript中的console.time()函数详细介绍
2014/12/29 Javascript
jquery 中ajax执行的优先级
2015/06/22 Javascript
基于jQuery实现Div窗口震动特效代码-代码简单
2015/08/28 Javascript
jQuery表格行上移下移和置顶的实现方法
2015/10/08 Javascript
JavaScript 中使用 Generator的方法
2017/12/29 Javascript
vue2单元测试环境搭建
2018/05/24 Javascript
JS实现查找数组中对象的属性值是否存在示例
2019/05/24 Javascript
Vue+Koa2+mongoose写一个像素绘板的实现方法
2019/09/10 Javascript
vue-devtools的安装和使用步骤详解
2019/10/17 Javascript
详解一些适用于Node.js的命名约定
2019/12/08 Javascript
JS实现商城秒杀倒计时功能(动态设置秒杀时间)
2019/12/12 Javascript
python字符串的常用操作方法小结
2016/05/21 Python
Python如何实现文本转语音
2016/08/08 Python
Python2.7读取PDF文件的方法示例
2017/07/13 Python
python matplotlib 注释文本箭头简单代码示例
2018/01/08 Python
Django uwsgi Nginx 的生产环境部署详解
2019/02/02 Python
简单了解python gevent 协程使用及作用
2019/07/22 Python
python3 selenium自动化测试 强大的CSS定位方法
2019/08/23 Python
python同步windows和linux文件
2019/08/29 Python
python db类用法说明
2020/07/07 Python
python time()的实例用法
2020/11/03 Python
意大利辅助药品、药物和补品在线销售:FarmaEurope
2020/04/29 全球购物
新东网科技Java笔试题
2012/07/13 面试题
新品发布会主持词
2014/04/02 职场文书
员工年终自我评价
2014/09/14 职场文书
同意落户证明
2015/06/19 职场文书
Python手拉手教你爬取贝壳房源数据的实战教程
2021/05/21 Python
React-vscode使用jsx语法的问题及解决方法
2021/06/21 Javascript
Python echarts实现数据可视化实例详解
2022/03/03 Python
ipad隐藏软件app图标方法
2022/04/19 数码科技