элемент с scrollLeft прокручивается быстрее, чем остальная часть документа

У меня есть элемент с фиксированной позицией, но с возможностью прокрутки влево и вправо с помощью расчета jQuery, который я использовал из этого примера на JsFiddle.< /а>

$(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 часов....


person Olly Bradshaw    schedule 25.02.2013    source источник


Ответы (1)


Просто чтобы отметить этот вопрос как ответ:

«Это произошло потому, что код использовал $(window).scrollLeft(); вместо родительского элемента в рамках элемента, которым я хотел манипулировать. Div-оболочка был классифицирован как «wrapperDiv», поэтому я использовал $(".wrapperDiv").scrollLeft();»

person David    schedule 14.10.2014