jQuery - 在元素上“unhover”一段时间后触发事件

时间:2013-04-23 10:02:33

标签: javascript jquery

我正在编写一些默认动画,只有在4个按钮都没有被悬停1秒时才会触发。

如果在等待期间(即1秒)悬停任何按钮,定时器应复位。任何的想法?谢谢!

[UPDATE] 请参阅以下评论中的我的片段,希望有人发现它有用。

2 个答案:

答案 0 :(得分:1)

尝试

$(function() {
    var timer;

    function schedule() {
        timer = setTimeout(function() {
            // start timer
        }, 1000);
    };

    $('button').hover(function() {
        if (timer) {
            clearTimeout(timer);
        }
    }, function() {
        schedule();
    });
    schedule();
});

演示:Fiddle

答案 1 :(得分:0)

假设每个按钮都有一个'btn'类

$(".btn").bind('onmouseenter',function(){
//Clear the Timer
   window.clearInterval();

//count the timer and write the logic
   window.setInterval(function(){
   //Logic of Animation you are gonna do if no hovering happens in 1 sec
},1000);
});