首页 > 解决方案 > 如何使用 JavaScript 检测 HTML 标签的水平滚动

问题描述

当 $rowDiv 水平滚动时,我正在使用以下 JS 使 $headerDiv 水平滚动。我正在尝试使 $rowDiv 不是基于 div 类,而是基于横向滚动的 HTML 标记。作为测试,我将水平滚动切换到 BODY 标签,这很有效,但需要大量重新设置样式才能在视觉上正常工作。

$headerDiv = $('.header-wrapper');
$rowDiv = $('body');
$rowDiv.scroll(function(e) {
    $headerDiv.css({
        left: -$rowDiv[0].scrollLeft + 'px'
    });
});

如果我将它切换到 HTML 标记,它就不起作用。

$headerDiv = $('.header-wrapper');
$rowDiv = $('html');
$rowDiv.scroll(function(e) {
    $headerDiv.css({
        left: -$rowDiv[0].scrollLeft + 'px'
    });
});

似乎 .scroll() 可以检测到 BODY 侧滚动,但不能检测到 HTML 标签。我在函数中添加了一个 console.log 输出,以在每个像素滚动时触发,我可以看到它只适用于 BODY 标签,而不适用于 HTML 标签。有没有办法用 .scroll() 或其他方法检测 HTML 标签?

标签: javascriptjqueryscroll

解决方案


推荐阅读