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代码
Sep 22 Javascript
js图片延迟技术一般的思路与示例
Mar 20 Javascript
JavaScript中的console.log()函数详细介绍
Dec 29 Javascript
浅谈 javascript 事件处理
Jan 04 Javascript
《JavaScript DOM 编程艺术》读书笔记之DOM基础
Jan 09 Javascript
JavaScript 浏览器兼容性总结及常用浏览器兼容性分析
Mar 30 Javascript
JQueryMiniUI按照时间进行查询的实现方法
Jun 07 jQuery
在Js页面通过POST传递参数跳转到新页面详解
Aug 25 Javascript
JS实现合并json对象的方法
Oct 10 Javascript
Vue2 配置 Axios api 接口调用文件的方法
Nov 13 Javascript
Node.js搭建小程序后台服务
Jan 03 Javascript
JS实现点击生成UUID的方法完整实例【基于jQuery】
Jun 12 jQuery
使用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
Terran兵种对照表
2020/03/14 星际争霸
PHP中的float类型使用说明
2010/07/27 PHP
PHP统计目录下的文件总数及代码行数(去除注释及空行)
2011/01/17 PHP
ThinkPHP调试模式与日志记录概述
2014/08/22 PHP
PHP使用token防止表单重复提交的方法
2016/04/07 PHP
php7安装yar扩展的方法详解
2017/08/03 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
2020/04/05 PHP
Firefox/Chrome/Safari的中可直接使用$/$$函数进行调试
2012/02/13 Javascript
JQuery 中几个类选择器的简单使用介绍
2013/03/14 Javascript
js计算精度问题小结
2013/04/22 Javascript
javascript获取URL参数与参数值的示例代码
2013/12/20 Javascript
jQuery中判断对象是否存在的方法汇总
2016/02/24 Javascript
修改ligerui 默认确认按钮的方法
2016/12/27 Javascript
weex slider实现滑动底部导航功能
2017/08/28 Javascript
JSON数据中存在单个转义字符“\”的处理方法
2018/07/11 Javascript
layui点击导航栏刷新tab页的示例代码
2018/08/14 Javascript
vue-cli 3.x 配置Axios(proxyTable)跨域代理方法
2018/09/19 Javascript
vue 翻页组件vue-flip-page效果
2020/02/05 Javascript
如何在vue中使用HTML 5 拖放API
2021/01/14 Vue.js
[03:01]2014DOTA2国际邀请赛 小组赛7月13日TOPPLAY
2014/07/14 DOTA
python实现在控制台输入密码不显示的方法
2015/07/02 Python
Python使用smtp和pop简单收发邮件完整实例
2018/01/09 Python
完美解决Python 2.7不能正常使用pip install的问题
2018/06/12 Python
Python爬虫实战之12306抢票开源
2019/01/24 Python
python同时遍历两个list用法说明
2020/05/02 Python
python可以用哪些数据库
2020/06/22 Python
python使用建议与技巧分享(二)
2020/08/17 Python
如何以Winsows Service方式运行JupyterLab
2020/08/30 Python
玖熙女鞋美国官网:Nine West
2016/10/06 全球购物
C++是不是类型安全的
2014/02/18 面试题
自荐信如何“自荐”
2013/10/24 职场文书
外贸业务员工作职责
2014/01/06 职场文书
竞聘演讲稿怎么写
2014/08/28 职场文书
就业协议书范本
2014/10/08 职场文书
分析mysql中一条SQL查询语句是如何执行的
2021/06/21 MySQL
Github 使用python对copilot做些简单使用测试
2022/04/14 Python