1

我按 $.get 加载我的内容,并按 javascript-auto-scrolling “关注”新附加数据。现在,如果用户“手动滚动”,我想禁用自动滚动,但是下面的滚动到底部函数也会触发 Jquery .scroll() 函数 - 所以它会禁用它的功能。

if(self.testelem.hasClass("active")){
    $(document).scrollTop($(document).height());
}

如何接收鼠标滚轮事件或阻止 scrollTop 触发 .scroll() 函数?我还尝试在 scrollTop 工作时设置一个超时来阻止,但这不是一个很好的解决方案并且有一些缺点。

有什么建议么?

编辑: 我当前的代码:

我使用按钮#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:是的,我知道。有几个非常相似的问题。我读过它们,但它们在重要方面有所不同。

4

1 回答 1

1

要停止scrollTo用户中断中滚动的事件,请尝试以下操作:

$(document).scroll(function(){
    jQuery('html,body').queue([]).stop();  //try this
    //jQuery.scrollTo.window().queue([]).stop(); //failing that try this
});
于 2012-08-08T09:22:05.567 回答