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 相关文章推荐
javascript面向对象编程代码
Dec 19 Javascript
js中有关IE版本检测
Jan 04 Javascript
创建公共调用 jQuery Ajax 带返回值
Aug 01 Javascript
javascript级联下拉列表实例代码(自写)
May 10 Javascript
jQuery实现表头固定效果的实例代码
May 24 Javascript
JavaScript 模块化编程(笔记)
Apr 08 Javascript
Jquery ui datepicker设置日期范围,如只能隔3天【实现代码】
May 04 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【一】
May 10 Javascript
bootstrap flask登录页面编写实例
Nov 01 Javascript
vue实现列表的添加点击
Dec 29 Javascript
微信小程序设置全局请求URL及封装wx.request请求操作示例
Apr 02 Javascript
js常用正则表达式集锦
May 17 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/07/09 PHP
php去掉文件前几行的方法
2015/07/29 PHP
Laravel中使用FormRequest进行表单验证方法及问题汇总
2016/06/19 PHP
PHP入门教程之图像处理技巧分析
2016/09/11 PHP
laravel5.1框架基础之Blade模板继承简单使用方法分析
2019/09/05 PHP
学习JS面向对象成果 借国庆发布个最新作品与大家交流
2009/10/03 Javascript
JQuery在光标位置插入内容的实现代码
2010/06/18 Javascript
Javascript公共脚本库系列(一): 弹出层脚本
2011/02/24 Javascript
js 函数调用模式小结
2011/12/26 Javascript
js图片处理示例代码
2014/05/12 Javascript
Vue的事件响应式进度条组件实例详解
2018/02/04 Javascript
Vuejs2 + Webpack框架里,模拟下载的实例讲解
2018/09/05 Javascript
clipboard在vue中的使用的方法示例
2018/10/19 Javascript
Nuxt.js实战和配置详解
2019/08/05 Javascript
基于layui的table插件进行复选框联动功能的实现方法
2019/09/19 Javascript
[06:25]第二届DOTA2亚洲邀请赛主赛事第二天比赛集锦.mp4
2017/04/03 DOTA
python实现的用于搜索文件并进行内容替换的类实例
2015/06/28 Python
python使用SMTP发送qq或sina邮件
2017/10/21 Python
Python+OpenCV实现车牌字符分割和识别
2018/03/31 Python
Python实现查询某个目录下修改时间最新的文件示例
2018/08/29 Python
PyTorch中常用的激活函数的方法示例
2019/08/20 Python
Django之使用内置函数和celery发邮件的方法示例
2019/09/16 Python
Django框架下静态模板的继承操作示例
2019/11/08 Python
解决TensorFlow训练内存不断增长,进程被杀死问题
2020/02/05 Python
python新手学习使用库
2020/06/11 Python
安全生产计划书
2014/05/04 职场文书
爱国主义教育活动总结
2014/05/07 职场文书
售后服务承诺书模板
2014/05/21 职场文书
低碳环保演讲稿
2014/08/28 职场文书
创先争优活动心得体会
2014/09/04 职场文书
个人贷款收入证明
2014/10/26 职场文书
有限责任公司股东合作协议书范本
2014/10/30 职场文书
生死抉择观后感
2015/06/09 职场文书
MySQL连表查询分组去重的实现示例
2021/07/01 MySQL
详细谈谈JavaScript中循环之间的差异
2021/08/23 Javascript
深入理解go缓存库freecache的使用
2022/02/15 Golang