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 相关文章推荐
js父窗口关闭时子窗口随之关闭完美解决方案
Apr 29 Javascript
鼠标左键单击冲突的问题解决方法(防止冒泡)
May 14 Javascript
JavaScript将字符串转换为整数的方法
Apr 14 Javascript
JavaScript引用类型和基本类型详解
Jan 06 Javascript
JS中生成随机数的用法及相关函数
Jan 09 Javascript
浅谈javascript中的三种弹窗
Oct 21 Javascript
Bootstrap基本插件学习笔记之Popover提示框(19)
Dec 08 Javascript
jquery 判断是否支持Placeholder属性的方法
Feb 07 Javascript
基于vue.js实现分页查询功能
Dec 29 Javascript
jQuery pager.js 插件动态分页功能实例分析
Aug 02 jQuery
使用JavaScript获取Django模板指定键值数据
May 27 Javascript
微信小程序绘制半圆(弧形)进度条
Nov 18 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
PHPExcel内存泄漏问题解决方法
2015/01/23 PHP
Linux平台PHP5.4设置FPM线程数量的方法
2016/11/09 PHP
javascript自适应宽度的瀑布流实现思路
2013/02/20 Javascript
jquery中get和post的简单实例
2014/02/04 Javascript
JavaScript比较两个对象是否相等的方法
2015/02/06 Javascript
简介JavaScript中valueOf()方法的使用
2015/06/05 Javascript
JS中的进制转换以及作用
2016/06/26 Javascript
第一次接触神奇的Bootstrap
2016/10/14 Javascript
基于jQuery封装的分页组件
2017/06/26 jQuery
jQuery实现弹窗下底部页面禁止滑动效果
2017/12/19 jQuery
js类的继承定义与用法分析
2019/06/21 Javascript
js实现消灭星星(web简易版)
2020/03/24 Javascript
浅谈vant组件Picker 选择器选单选问题
2020/11/04 Javascript
JS算法教程之字符串去重与字符串反转
2020/12/15 Javascript
[06:59]DOTA2-DPC中国联赛3月7日Recap集锦
2021/03/11 DOTA
Python open读写文件实现脚本
2008/09/06 Python
python让列表倒序输出的实例
2018/06/25 Python
Python随机生成身份证号码及校验功能
2018/12/04 Python
Python常用特殊方法实例总结
2019/03/22 Python
在Python中表示一个对象的方法
2019/06/25 Python
Python爬虫动态ip代理防止被封的方法
2019/07/07 Python
Python Matplotlib 基于networkx画关系网络图
2019/07/10 Python
python+opencv3生成一个自定义纯色图教程
2020/02/19 Python
Python使用cn2an实现中文数字与阿拉伯数字的相互转换
2021/03/02 Python
html5小技巧之通过document.head获取head元素
2014/06/04 HTML / CSS
戴尔加拿大官网:Dell加拿大
2016/09/17 全球购物
印尼第一大家居、生活和家具电子商务:Ruparupa
2019/11/25 全球购物
高中生的学习总结自我鉴定
2013/10/26 职场文书
中餐厅主管的职责范文
2014/02/04 职场文书
xxx同志考察材料
2014/02/07 职场文书
校园安全教育广播稿
2014/02/17 职场文书
学前班评语大全
2014/05/04 职场文书
2014年教师工作总结
2014/11/10 职场文书
2014年人力资源工作总结
2014/11/19 职场文书
Python list去重且保持原顺序不变的方法
2021/04/03 Python
Python 游戏大作炫酷机甲闯关游戏爆肝数千行代码实现案例进阶
2021/10/16 Python