jQuery 检测鼠标在元素上停留的秒数
有没有办法检测鼠标指针在 html 元素上停留了多少秒?
我想检索鼠标在元素上停留了多少秒,以便对回调事件稍加延迟...如果可能的话:)
我正在尝试通过计数器进行简单的 for() 循环检测:
var time_over ;
$('.bean-active').live('mouseover',function(){
id_tag = $(this).attr("id");
for(time_over = 1;time_over <= 3000;time_over ++){
if(time_over == 3000){
$('.bean-bubble,.bean-bubble img').hide();
$('#bean-bubble-'+id_tag+',#bean-bubble-'+id_tag+' img').show();
}
}
});
问题是它不起作用:(
我也想绑定一个 mouseleave 事件,脚本逻辑应该是:
while ( mouseover element count how many time it stays over)
if (time == n)
{ do somenthing }
if (mouseleave from element earlier then time)
{ do somenthing different }
is there any way to detect how many seconds a mouse pointer stays on an html element?
I would like to retrieve how many seconds a mouse stays over element to put a little delay on a callback event... if is possible :)
i'm trying with a simple for() cycle detecting by a counter :
var time_over ;
$('.bean-active').live('mouseover',function(){
id_tag = $(this).attr("id");
for(time_over = 1;time_over <= 3000;time_over ++){
if(time_over == 3000){
$('.bean-bubble,.bean-bubble img').hide();
$('#bean-bubble-'+id_tag+',#bean-bubble-'+id_tag+' img').show();
}
}
});
the problem is that it doesn't works :(
also i would like to bind a mouseleave event, script logic should be:
while ( mouseover element count how many time it stays over)
if (time == n)
{ do somenthing }
if (mouseleave from element earlier then time)
{ do somenthing different }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
给定这个标记:
类似这个插件的东西应该可以解决问题:
调用代码:
实时示例:http://jsfiddle.net /nrUqS/
对于您的要求,类似这样的内容应该足够了:
Given this markup:
Something like this plugin should do the trick:
and the calling code:
Live example: http://jsfiddle.net/nrUqS/
For your requirement, something like this should suffice:
此代码将计算您用鼠标悬停在元素上的时间(以毫秒为单位):
This code will calculate the time in milliseconds that you hover over an element with your mouse:
您应该能够利用
hover()
函数来捕获鼠标何时经过特定元素,然后在鼠标从该对象上移开时根据需要做出反应。You should be able to utilize the
hover()
function to capture when the mouse goes over a particular element and then react as desired when the mouse is removed from that object.我使用了 C. Spencer Beggs 的答案作为模板,因为他的答案不适合我。我使用了简单的变量,包括大量的 console.log 消息并将“==”代码更正为“=”。此示例将等待 3 秒的“将鼠标悬停在链接上”操作发生,然后再执行操作。 HTH某人。
I've used C. Spencer Beggs answer as a template, because his one didn't work for me. I've used simple variables, included lots of console.log messages and corrected '==' code to '='. This example will wait 3 seconds of 'hover over a link' action to take place before acting. HTH someone.