Jquery在鼠标悬停时停止动画

时间:2011-05-12 18:01:00

标签: javascript jquery

http://briancray.com/2009/05/06/twitter-style-alert-jquery-cs-php/中获取的一些JQuery应该会给出一个很好的旧式Twitter通知。

如何编辑下面的代码以阻止div隐藏在鼠标悬停上?

更新:鼠标悬停完成后,我仍然想让div滑动。

$(function () {
    var $alert = $('#alert');
    if($alert.length) {
        var alerttimer = window.setTimeout(function () {
            $alert.trigger('click');
        }, 5000);       
        $alert.animate({height: $alert.css('line-height') || '50px'}, 200).click(function () {
            window.clearTimeout(alerttimer);
            $alert.animate({height: '0'}, 200);
        });
    }
});

1 个答案:

答案 0 :(得分:1)

如果我理解正确(我可能不是),你想要这样的东西:

var alerttimer, alertBox = $('#alert');
function resetTimeout() {
        if (alerttimer) {
                clearTimeout(alerttimer);
        }
        alerttimer = setTimeout(function() {
                alertBox.trigger('click');
        }, 5000);
}
$(function () {
        if(alertBox.length) {
                resetTimeout();
                alertBox.animate({ height: alertBox.css('line-height') || '50px' }, 200).click(function () {
                        window.clearTimeout(alerttimer);
                        alertBox.animate({ height: '0px' }, 200);
                }).mouseover(function () {
                        clearTimeout(alerttimer);
                }).mouseout(function () {
                        resetTimeout();
                });
        }
});

重要的是要注意上面的内容是非常未经测试的。