我有一个具有固定位置的元素,但是能够使用我在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
});
});
解决方案效果很好,直到我必须向左滚动,滚动元素的位置和#34; parallaxes"与文档的其余部分相对应 - 即,它的滚动速度是文档其余部分的两倍。
我知道这是jQuery计算的问题,但是想知道是否有人之前遇到过这个问题?如果是这样,你是如何解决的?我有点失落......
修改
问题解决了 - 这是因为代码使用了$(window).scrollLeft();而不是我希望操纵的元素范围内的父元素。
包装器div被归类为" wrapperDiv",所以我使用$(" .wrapperDiv")。scrollLeft();
我会按照要求标记这个问题,但由于我是Stack Overflow的新手,我再也无法回答7个小时....
答案 0 :(得分:0)
只是将这个问题标记为已回答:
"这是因为代码使用$(window).scrollLeft();
而不是我想要操作的元素范围内的父元素。包装器div被归类为" wrapperDiv",所以我使用$(".wrapperDiv").scrollLeft();
"