鼠标经过(hover)事件的延时处理
关于鼠标hover事件及延时
鼠标经过事件为web页面上最常见的事件之一。简单的hover可以用CSS :hover伪类实现,复杂点的用js。
一般情况下,我们是不对鼠标hover事件进行延时处理。但是,有时候,为了避免不必要的干扰,常会对鼠标hover事件进行延时处理。所谓干扰,就是当用户鼠标不经意划过摸个链接,选项卡,或是其他区域时,本没有显示隐藏层,或是选项卡切换,但是由于这些元素上绑定了hover事件(或是mouseover事件),且无延时,这些时间就会立即触发,反而会对用户进行干扰。
比较适用于类似场景:
像腾讯首页,此处选项卡:对鼠标经过事件进行了延时处理
下面贴出实现代码
(function ($) {
'use strict'
$.fn.hoverdelay = function (options) {
if (typeof options == 'string') {
options = { feedback: options };
} var settings = $.extend($.fn.hoverdelay.defaults, options || {});
var hoverTimer, outTimer;
return this.each(function () {
var $own = $(this);
$own.hover(function () {
clearTimeout(outTimer);
hoverTimer = setTimeout(function () {
settings.mouseover($own);
}, settings.hoverdelay);
},
function () {
clearTimeout(hoverTimer);
outTimer = setTimeout(function () {
settings.mouseout($own);
}, settings.hoverremove);
});
});
}; $.fn.hoverdelay.defaults = {
hoverdelay: 3000,
hoverremove: 50,
mouseover: function (selector) { },
mouseout: function (selector) { }
}; })(jQuery);
以上代码收集自:海丁网。 张鑫旭 博客详细介绍了此种情况,也给出了实现方式,二者代码没什么差别,个人只是更习惯海丁网参数的命名方式。
我可是最爱用的 Camel 啊,这不科学...
鼠标经过(hover)事件的延时处理的更多相关文章
- jQuery – 鼠标经过(hover)事件的延时处理
一.关于鼠标hover事件及延时 鼠标经过事件为web页面上非常常见的事件之一.简单的hover可以用CSS :hover伪类实现,复杂点的用js. 一般情况下,我们是不对鼠标hover事件进行延时处 ...
- hover事件优化(延时操作)
JQ的hover事件拓展 编写原因:当鼠标滑过某个带有hover事件的元素,但是仅仅是路过,并不是希望查看此部分内容的时候,效果不理想 $.fn.extend({ delayed : function ...
- jQuery hover事件鼠标滑过图片半透明标题文字滑动显示隐藏
1.效果及功能说明 hover事件制作产品图片鼠标滑过图片半透明,标题文字从左到右滑动动画移动显示隐藏 2.实现原理 首先把效果都隐藏,然后定义一个伪类来触发所有的效果,接下来当触发伪类后会有一个遍历 ...
- 鼠标hover事件
JS: // ========== // = 鼠标hover事件 = // ========== function showHide (btn,box) { $(btn).hover(function ...
- js中hover事件时候的BUG以及解决方法
hover事件是我们在开发前段时候遇到的稀松平常的问题,但是有没有发现会出现有一个BUg,比如,你移动到一个元素上,让它执行一个方法,然后你快速的移入移出的时候,他会进行亮瞎你眼睛的频闪效果,而且跟得 ...
- 分享一个jquery插件,弥补一下hover事件的小小不足
hover事件有一个缺点:当你的鼠标无意划过一个dom元素(瞬间划过,这个时候用户可能不想触发hover事件),会触发hover事件 应该设置一个时差来控制hover事件的触发 比如jd左边的菜单 你 ...
- jQuery中多个元素的Hover事件
1.需求简介 jQuery的hover事件只是针对单个HTML元素,例如: $('#login').hover(fun2, fun2); 当鼠标进入#login元素时调用fun1函数,离开时则调用fu ...
- 用:hover伪类代替js的hover事件
制作二级菜单要实现鼠标移动上去显示子菜单,鼠标移出子菜单隐藏,或者其他类似需求的地方,首先我会想到用jquery的hover事件来实现,如: $(".nav").hover(fun ...
- 使用jQuery的hover事件在IE中不停闪动的解决方法
在使用jQuery的hover事件时,经常会因为鼠标滑动过快导致菜单不停闪动的情况,相信很多朋友都遇到过自己做的纵向下拉菜单不停的收缩,非常的讨厌.今天在给一个网站设计菜单时也遇到了这个情况,结果在百 ...
随机推荐
- C#通过SQL 添加,删除,或者修改表名。
这是我在 https://forums.asp.net/t/2106051.aspx?Create+Dynamic+table+in+SQL+using+C+ 的回复,如果其他人需要,可以参考 如果你 ...
- iOS crash 异常捕获
// // UncaughtExceptionHandler.m // UncaughtExceptions // // Created by Matt Gallagher on 2010/05 ...
- vertex compression所遇到的问题
对于数据压缩,其实就是把浮点的32位精度,改用16位定点数来表达. 例如0.0 = 0,1.0 = 32767,-1.0 = -32767 这是一种有损压缩,会丢失一些精度,一般情况下是可以接受的. ...
- jackson json转实体 允许特殊字符和转义字符 单引号
//允许出现特殊字符和转义符 mapper.configure(Feature.ALLOW_UNQUOTED_CONTROL_CHARS, true) ; //允许出现单引号 mapper.confi ...
- jquery.pjax.js bug问题解决集锦
jquery.pjax 是一个很好的局部刷新插件,但实际应用过程是还是会有很多小问题,部分问题解决如下: 1.pjax 局部加载时候,IE 存在缓存问题,很容易理解,pjax是通过jquery的aja ...
- Mac 上面使用SVN的攻略
参考网站: http://blog.csdn.net/q199109106q/article/details/8655204 SVN命令集: http://www.blogjava.net/jasmi ...
- AIDL示例
背景 最近在考虑项目重构的时候,考虑将项目拆分成两个APK,一个用于数据服务,一个用于UI展示. 数据服务APK向自己编写APK提供数据,同时也可以向第三方提供数据.考虑使用这样的方式代替向第三方提供 ...
- 推荐几个学习Node的网址:
推荐几个学习Node的网址: Nodejs 安装教程 http://jingyan.baidu.com/article/a948d6515d4c850a2dcd2e18.html http://nod ...
- Objective-C学习备忘录:Clang编译器编译运行Objective-C代码
我们都知道可以通过Apple公司的Xcode工具来学习Objective-C编程语言,但是能不能脱离XCode这个IDE进行Objective-C学习呢?当然是可以的.首先作为计算机科班出身的程序员都 ...
- smdkv210
参考:http://code.google.com/p/libyuv/issues/detail?id=295 ******************************************** ...