中断滚动到动画



我有一个页面,所有内容都在一个页面中,单击导航栏上的链接会滚动动画到相关部分。代码笔 http://codepen.io/meek/pen/NNprYb?editors=0010

我正在为滚动动画使用以下代码:

  $('a[href*=#]:not([href=#])').click(function() {
    var target = $(this.hash);
    if (target.length) {
      $('html, body').animate({
        scrollTop: target.offset().top
      }, 1000);
      return false;
    }
  });

我的问题是,当用户在动画仍在播放时单击另一个部分时,是否有办法取消此动画。目前,它完成了上一个动画并将下一个动画添加到"队列"中,这意味着如果您垃圾邮件点击不同的部分,您将陷入无法取消的动画中。

找到它,只需在 animate() 之前添加此代码:

$('html, body').stop();

最新更新