我有一个页面,所有内容都在一个页面中,单击导航栏上的链接会滚动动画到相关部分。代码笔 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();