滚动事件上的动画scrollTop

时间:2014-01-05 23:22:28

标签: javascript jquery animation scroll

我有一个自定义滑块。我想做一件这样的事情。当用户向下滚动时,它应该动画向下滚动到下一张幻灯片,在此动画期间,用户不应该滚动。但我有一个问题。多次触发滚动事件,并在完成一个动画后,启动第二个动画,等等。

这是我的代码示例

$(window).scroll(function(e){
  if($scrolling){
    e.preventDefault();
    e.stopPropagation();
  }
})

$(window).on('mousewheel', function(event){
    $scrolling = true
    $('html, body').animate({scrollTop: 'my position here' }, {done: function(){ $scrolling = false; } }, 1000)
});

我做错了什么?提前谢谢!

1 个答案:

答案 0 :(得分:0)

您可以单独控制mousewheel事件中的所有内容。

var $scrolling = false;
$(window).on('mousewheel', function(event){
  if (!$scrolling){
    $scrolling = true;
    $('html, body').animate({scrollTop: 'my position here' }, {done: function(){ $scrolling = false; } }, 1000);
  }
});