jquery - 使用 jQuery 检测水平滚动 div 的结尾

标签 jquery scroll mousewheel

所以,我在 div 中扔了一些数据。它按日期分成 block 。它使用 jQuery 和鼠标滚轮插件水平滚动。

当 div 到达其终点(最左、最右)时,我需要触发一个事件。我认为可以通过当前实现的方式来通过检测鼠标滚轮插件中获取的数据来计算何时无法进一步滚动。我只需要朝着正确的方向插入。这是为我执行水平滚动的代码:

$(document).ready(function () {        
    $('#timeline').mousedown(function (event) {
        $(this)
            .data('down', true)
            .data('x', event.clientX)
            .data('scrollLeft', this.scrollLeft);
        return false;
    }).mouseup(function (event) {
        $(this).data('down', false);
    }).mousemove(function (event) {
        if ($(this).data('down') == true) {
            this.scrollLeft = $(this).data('scrollLeft') + $(this).data('x') - event.clientX;
        }
    }).mousewheel(function (event, delta) {
        this.scrollLeft -= (delta * 30);
    }).css({
        'overflow' : 'hidden',
        'cursor' : '-moz-grab'
    });
});

有人可以给我一些指导吗?谢谢!

最佳答案

嘿,我已经为您准备了一个实现页面。您可以了解如何使用 jQuery 检测滚动区域的结尾。

对于整个文档,您必须在 javascript 中检测 .scrollTop 是否等于 .scrollHeight。使用 jQuery 将检测:

if ( $(document).scrollTop() == ( $(document).height() - $(window).height() ) {
  // Do something here ...
}

宽度也是如此。看一下 div here 的示例

关于jquery - 使用 jQuery 检测水平滚动 div 的结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5970404/

相关文章:

javascript - 在哪里添加作用于滚动 Action 的脚本?

jquery - 如何暂时解除jquery.mousewheel的绑定(bind)

javascript - .show() 方法没有像在 jquery 中应该的那样工作

jQuery - 如果值与数组中的元素匹配,则禁用复选框

jquery - 如何使用 jQuery 将表格中的制表符顺序从水平重新分配为垂直?

java - MouseWheel 事件不会在 SWT-AWT 组件中触发

javascript - Nicescroll 3 - 水平滚动结束后垂直滚动

javascript - $(this).find(..) 替代方案

performance - 混合模式滚动延迟问题

android - 寻找 iScroll 的替代品(iOS/Webkit 上的滚动 Div)