javascript - JQuery 自动滚动到底部(但禁用鼠标滚动)

标签 javascript jquery events scroll

我根据 $.get 加载我的内容,并根据 javascript 自动滚动“遵循”新的附加数据。现在,如果用户“手动滚动”,我想禁用自动滚动,但以下滚动到底部函数也会触发 Jquery .scroll() 函数 - 因此它会禁用它。

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

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

有什么建议吗?

编辑: 我当前的代码:

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

最佳答案

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

$(document).scroll(function(){
    jQuery('html,body').queue([]).stop();  //try this
    //jQuery.scrollTo.window().queue([]).stop(); //failing that try this
});

关于javascript - JQuery 自动滚动到底部(但禁用鼠标滚动),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11861059/

相关文章:

javascript - JS/jQuery 数字递增动画

javascript - NodeUnit 启用和谐功能

javascript - 需要在 Javascript 或 Angular 搜索时显示 JSON 中的父级和子级

javascript - 在 Google Spreadsheet Gadget 中,如何写入电子表格?

javascript - AJAX 请求从聊天数据库获取最新的、唯一的消息

javascript - 如何动态地将 html 放入 bootstrap 2.3.2 弹出窗口

C# 多个 SelectionChanged 事件

php - 在Elastic Search中按定义的类型排序

javascript - 在一个标签中取消订阅可观察到禁用所有?

javascript - 计算价格 JavaScript