我按$ .get加载我的内容,并按照javascript-auto-scrolling“跟随”新的附加数据。现在我想要禁用自动滚动,如果用户“手动滚动”,但是下面的滚动到底部函数也会触发Jquery .scroll() - 函数 - 所以它会禁用它。
if(self.testelem.hasClass("active")){
$(document).scrollTop($(document).height());
}
如何接收鼠标滚轮事件或阻止scrollTop触发.scroll() - 函数?我还尝试在scrollTop工作时设置一个Timeout来阻止,但这不是一个很好的解决方案,并且有一些缺点。
有什么建议吗?
编辑: 我目前的代码:
我使用按钮#stb(滚动到底部)和类.active来关闭/打开它。
$.get("url", function(data){
//do something
if(self.testelem.hasClass("active")){
$(document).scrollTop($(document).height());
}
});
$(document).scroll(function(){
jQuery('html,body').queue([]).stop(); //try this
//$("#stb").parent().removeClass("active");
});
ps:是的,我知道。有一些非常相似的问题。我读过它们,但它们的重点不同。
答案 0 :(得分:1)
要在用户中断停止scrollTo
事件中滚动,请尝试以下操作:
$(document).scroll(function(){
jQuery('html,body').queue([]).stop(); //try this
//jQuery.scrollTo.window().queue([]).stop(); //failing that try this
});