在两个y位置之间手动滚动时,如何自动.scrollTo()
(使用插件)? (if()
)内的.scroll()
声明
我在下面的代码看起来非常简单。但是,滚动有点颠簸,当它自动滚动到内容时,滚动卡在那里。好像它想要做两件事。
scrollToContent = function() {
$(document).stop(1, 1).scrollTo($('.content'), 750, { easing: 'easeInOutQuint' });
}
$(window).scroll(function() {
if ($(this).scrollTop() <= $(this).height()) {
scrollToContent();
}
});
答案 0 :(得分:2)
评论太长了,所以我将其作为答案。 $(window).scroll()
是您要用来检查用户是否正在滚动的方法。如果与scrollTo()
插件混淆,请尝试设置标志。例如:
var scrolling = false;
scrollToContent = function() {
scrolling = true;
// disable user scroll here
$(document).stop(1, 1).scrollTo($('.content'), 750, { easing: 'easeInOutQuint', onAfter: function() {
scrolling = false;
// reenable user scroll here
}});
}
$(window).scroll(function() {
if ($(this).scrollTop() <= $(this).height() && !scrolling) {
scrollToContent();
}
});