所以,我正在编写一个函数来解决浏览器错误,我不会详细说明,因为你知道错误,甚至简洁地描述它们可能会很痛苦。
无论如何,我所拥有的是一个jquery函数,当鼠标进入特定区域时会触发一次点击,我遇到的问题是我希望它仅在鼠标在那里超过半秒时触发。
现在我尝试设置timeout,但所有这一切都是延迟射击,一旦你鼠标移开,该功能就会继续它的快乐方式。 那么,只有当.left悬停超过500毫秒时,我才会启动.click功能?
$(document).ready(function () {
$('.left').mouseenter(function () {
setTimeout(function () {
$('.latest').click();
}, 500);
});
$('.left-3').mouseenter(function () {
setTimeout(function () {
$('.popular').click();
}, 500);
});
$('.left-5').mouseenter(function () {
setTimeout(function () {
$('.favsurl').click();
}, 500);
});
});
答案 0 :(得分:4)
您在mouseenter上调用setTimeout()
,在mouseleave上调用clearTimeout()
。这样,如果在时间结束之前将鼠标移出,则取消超时并且不会调用您的函数。
var timerID;
$('.left').mouseenter(function() {
timerID = setTimeout(function () {
$('.latest').click();
}, 500);
}).mouseleave(function() {
clearTimeout(timerID);
});