1

我有这个代码可以向下滑动到页面上的每个部分。导航链接有一个 id 链接到相应的类。这非常有效,除非您单击导航按钮然后快速单击另一个它将继续播放动画。这还不错..但如果你把按钮捣碎,它真的会吓坏。

我尝试使用 .stop(); 但正如预期的那样,这会一起停止动画并跳转到该部分。理想情况下,我希望它在任何地方停止动画并继续到选定的部分。

我不知道该怎么做,所以请 jQuery 向导帮忙!

JSFiddle

$('.nav-item').on('click',function(e){
        var scrollSpeed = 1000;
                var scrollTop = $(window).scrollTop();
                var id = $(this).attr('id');
                var goTo =  $('div.'+ id).offset().top;

        e.preventDefault();
          $("html, body").animate({ scrollTop: goTo }, scrollSpeed);  
});
4

1 回答 1

2

就像你之前说的那样使用 stop

$("html, body").stop().animate({ scrollTop: goTo },

http://jsfiddle.net/XRGkd/

于 2013-10-08T19:46:43.253 回答