jQuery实现鼠标经过事件的延时处理效果
2015-10-24 00:00
871 查看
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)事件的延时处理全部内容,希望对大家的学习有所帮助。
相关文章推荐
- jquery获取checkbox是否选中
- 关于JQuery获取元素索引值的理解
- domino 流程图的功能
- 三,遍历方法 1$.each(数组/对象,function处理); //$对象 调用的 2$(选择器).each(function处理); //jquery对象 调用的
- [canvas入坑0] Jquery + HTML5 做最简易的画板
- 二,jquery对象 与 dom对象关系
- jquery-dataTables的使用
- jquery获取表格中动态单元格内单选框和多选框的值
- jQuery源码分析系列
- jquery的ajax同步和异步
- JQuery+ajax实现类似百度搜索自动匹配功能
- JQuery+ajax实现类似百度搜索自动匹配功能
- jquery提示插件autocomplete使用方法和官方下载地址
- jQuery选择iframe中的DOM(元素)
- jquery 如何动态绑定传递到后台上传组件参数
- jQuery中的DOM操作
- 一步一步jQuery流程设计器插件goflow(附代码) - 4 - 画连线
- jquery动态改变div宽度和高度
- 使用jqueryMobile的一些问题
- JQuery中动态添加easyui组件 动态渲染 parser具体怎么用