jquery - 带有 scrollLeft 的元素比文档的其余部分滚动得更快

标签 jquery html parallax

我有一个具有固定位置的元素,但可以使用我在 this example on JsFiddle. 中使用的 jQuery 计算来左右滚动

$(window).scroll(function(event) {
var x = 0 - $(this).scrollLeft();
var y = $(this).scrollTop();

// whether that's below the form
if (y >= top) {
    // if so, ad the fixed class
    $('.scroll_fixed').addClass('fixed');
} else {
    // otherwise remove it
    $('.scroll_fixed').removeClass('fixed');
}

$(".scroll_fixed").offset({
    left: x + leftInit
});

});

该解决方案一直有效,直到我必须向左滚动,此时滚动的元素与文档的其余部分存在“视差”——也就是说,它的滚动速度大约是文档其余部分的两倍。

我知道这是 jQuery 计算的问题,但想知道以前是否有人遇到过这个问题?如果是这样,您是如何解决的?我有点不知所措....

编辑

问题已解决 - 这是因为代码使用了 $(window).scrollLeft();而不是我希望操作的元素范围内的父元素。

包装器 div 被归类为“wrapperDiv”,所以我使用了 $(".wrapperDiv").scrollLeft();

我会将此问题标记为已提问,但由于我是 Stack Overflow 的新手,我无法再回答 7 个小时....

最佳答案

只是将这个问题标记为已回答:

“这是因为代码使用的是 $(window).scrollLeft(); 而不是我希望操作的元素范围内的父元素。包装器 div 被归类为“wrapperDiv”,所以我使用了 $(".wrapperDiv").scrollLeft();"

关于jquery - 带有 scrollLeft 的元素比文档的其余部分滚动得更快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15064078/

相关文章:

javascript - 从 cookie 加载 CSS 类(带有转换),而不转换到它们中

javascript - jQuery 插件创作 : Cannot get basic example to work?

javascript - 我正在使用 javascript 提交表单,但我无法在 php 页面中获取值

jquery - 如何在禁用元素上使用 click() ?

html - 如何将多个分区修复到屏幕顶部(视差滚动网站帮助)

javascript - 单击功能触发时如何再次关闭div

javascript - 添加 @grant 值会破坏我的 Greasemonkey+jQuery 脚本吗?

html - 如何让 WordPress 20 个主题子菜单扩展到它们的内容 (CSS)?

ios - 如何制作自动展开的主页横幅

ios - 在 UIAlertController 中禁用视差 iOS