jQuery中hover事件的延迟
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery中hover事件的延迟相关的知识,希望对你有一定的参考价值。
jQuery(document).ready(function($)
$('ul#navi li').prepend('<div class="hover"></div>');
$('ul#navi li').hover(
function()
$('div.hover', this).fadeIn(500);
,
function()
$('div.hover', this).fadeOut(100);
);
$('ul#navi li').hover(
function()
$('a', this).fadeTo(200,0.1);
,
function()
$('a', this).fadeTo(10,1);
);
);
如何设置延迟200ms?
我希望hover事件当在鼠标停留200ms以上时才触发,请问怎么才可以做到呢?
追答这样就是鼠标停留200ms以上才触发,设置里面的参数控制延迟时间
追问您的方法,只要是鼠标滑过,200ms后都会触发hover事件
参考技术A 在你的hover方法里第一个参数里添加
timer = window.setTimeout("javascript:void()",200);
第二个参数里添加
if(timer)
window.clearTimeout(timer);
追问
not working
追答没出错吧?
200ms是不是太短了,你设置大点,要不然看不出效果
可能是我添加错了,您看看对嘛?
$('ul#navi li').hover(
function() timer = window.setTimeout("javascript:void()",2000);
$('div.hover', this).fadeIn(500);,
function() if(timer)window.clearTimeout(timer);
$('div.hover', this).fadeOut(500););
我看上面那位帅哥的delay()达不到你的效果吗?
追问我需要的是停留时间少于200ms就不执行
追答我晕死,你问题都没说清楚,你看看你的问题!!!
追问嗯……对不起,我表达的不够清楚
本回答被提问者采纳 参考技术B $('ul#navi li').hover(function()
window.setTimeout("eval(1);",200);
$('a', this).fadeTo(200,0.1);
,
function()
$('a', this).fadeTo(10,1);
);追问
not working
以上是关于jQuery中hover事件的延迟的主要内容,如果未能解决你的问题,请参考以下文章