如何在鼠标悬停时停止动画

时间:2015-02-22 23:11:10

标签: javascript jquery-animate

我在页面上滚动时使用此脚本进行自动滚动侧边栏。这很好,但我也希望实现两件事:

  1. 当鼠标悬停在侧边栏上时,动画必须停止(向上或向下移动)。我怎样才能做到这一点?
  2. 侧边栏应在滚动2秒后开始移动(因此在向上或向下移动前延迟2秒)

    $(function() {
    var offset = $("aside.page-sidebar").offset();
    var topPadding = 15;
    
    $(window).scroll(function() {
    
    if ($(window).scrollTop() > offset.top) {
    
        $("aside.page-sidebar").stop().animate({
            marginTop: $(window).scrollTop() - offset.top +  topPadding
        },{
            duration: 5000
        });
    } else {
        $("aside.page-sidebar").stop().animate({
            marginTop: 0
        },{
            duration: 5000
        });
      };
     });
    });
    

1 个答案:

答案 0 :(得分:0)

尝试:

$('#element').hover(function(e){
e.preventDefault();
$("aside.page-sidebar").stop(true,true);
});