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 27 Javascript
在JavaScript中使用对数Math.log()方法的教程
Jun 15 Javascript
JS+CSS实现的经典圆角下拉菜单效果代码
Oct 21 Javascript
jQuery实现选项联动轮播效果【附实例】
Apr 19 Javascript
快速解决js动态改变dom元素属性后页面及时渲染的问题
Jul 06 Javascript
jQuery自适应轮播图插件Swiper用法示例
Aug 24 Javascript
概述javascript在Google IE中的调试技巧
Nov 24 Javascript
jQuery中Datatables增加跳转到指定页功能
Feb 08 Javascript
angular 服务的单例模式(依赖注入模式下)详解
Oct 22 Javascript
js纯前端实现腾讯cos文件上传功能的示例代码
May 14 Javascript
基于小程序请求接口wx.request封装的类axios请求
Jul 02 Javascript
Vue router传递参数并解决刷新页面参数丢失问题
Dec 02 Vue.js
使用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合并js请求的例子
2013/11/01 PHP
php定义一个参数带有默认值的函数实例分析
2015/03/16 PHP
CodeIgniter配置之config.php用法实例分析
2016/01/19 PHP
解决在Laravel 中处理OPTIONS请求的问题
2019/10/11 PHP
深入理解JavaScript系列(9) 根本没有“JSON对象”这回事!
2012/01/15 Javascript
JavaScript高级程序设计 读书笔记之九 本地对象Array
2012/02/27 Javascript
IE8下Jquery获取select选中的值post到后台报错问题
2014/07/02 Javascript
js代码实现随机颜色的小方块
2015/07/30 Javascript
微信小程序 Template详解及简单实例
2017/01/05 Javascript
AngularJS改变元素显示状态
2017/04/20 Javascript
vue.js声明式渲染和条件与循环基础知识
2017/07/31 Javascript
微信小程序 功能函数小结(手机号验证*、密码验证*、获取验证码*)
2017/12/08 Javascript
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
2018/01/11 Javascript
koa大型web项目中使用路由装饰器的方法示例
2019/04/02 Javascript
微信小程序拖拽排序列表的示例代码
2020/07/08 Javascript
JavaScript的一些小技巧分享
2021/01/06 Javascript
pyqt和pyside开发图形化界面
2014/01/22 Python
探索Python3.4中新引入的asyncio模块
2015/04/08 Python
Python使用selenium实现网页用户名 密码 验证码自动登录功能
2018/05/16 Python
python操作excel的方法
2018/08/16 Python
python如何以表格形式打印输出的方法示例
2019/06/21 Python
django ModelForm修改显示缩略图 imagefield类型的实例
2019/07/28 Python
python socket通信编程实现文件上传代码实例
2019/12/14 Python
Pytorch 保存模型生成图片方式
2020/01/10 Python
Douglas意大利官网:购买香水和化妆品
2020/05/27 全球购物
利用异或运算实现两个无符号数的加法运算
2013/12/20 面试题
Oracle快照(snapshot)
2015/03/13 面试题
亲戚结婚的请假条
2014/02/11 职场文书
负责人任命书范本
2014/06/04 职场文书
煤矿安全生产月活动总结
2014/07/05 职场文书
家具商场的活动方案
2014/08/16 职场文书
项目合作协议书
2014/09/23 职场文书
计算机实训报告总结
2014/11/05 职场文书
学生会生活部工作总结2015
2015/03/31 职场文书
2016大学生入党积极分子心得体会
2016/01/06 职场文书
js中Map和Set的用法及区别实例详解
2022/02/15 Javascript