我想在用户滚动时动画页面滚动到页面的不同部分。所以我写了这段代码:
var $window = $(window);
var sectionHeight = $window.height();
var animating = false;
var dir;
// initialize page position (0)
var pagePos = $(window).scrollTop();
$(window).scroll(function() {
// current page position
var st = $(this).scrollTop();
// whether to animate up or down
dir = ((st > pagePos) ? '+=' : '-=');
// animate
if (animating == false) {
animating = true;
$('html, body').stop().animate({scrollTop: dir+sectionHeight},500, function() {
pagePos = $(window).scrollTop();
animating = false;
});
}
});
问题是,在我的初始动画关闭后,我得到了一个链接动画,它将页面动画返回到顶部。我不知道为什么,因为除非“动画”设置为假,否则它不应该动画。只有在动画完成时它才会被设置回 false ......对吗?