2013-02-25 10 views
5

mam elementem, który ma ustaloną pozycję, ale ma możliwość przewijania w lewo lub w prawo za pomocą obliczeń jQuery który użyłem z this example on JsFiddle.pierwiastek z scrollLeft przesuwa się szybciej niż reszta dokumentu

$(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 
}); 

}); 

Rozwiązanie działa dobrze, dopóki nie trzeba przewijać w lewo, gdzie element przewijany jest "paralaksami" względem reszty dokumentu - tzn. Przewija się około dwa razy szybciej niż reszta dokumentu.

Wiem, że to jest problem z obliczaniem jQuery, ale zastanawiał się, czy ktoś wcześniej się z tym spotkał? a jeśli tak, to jak sobie z tym poradziłeś? Jestem na kawałku straty ....

edit

problem rozwiązany - to dlatego, że kod został przy użyciu $ (okno) .scrollLeft(); zamiast elementu nadrzędnego w zakresie elementu i chciałem manipulować.

Opakowanie div zostało zaklasyfikowane jako "wrapperDiv", więc użyłem $ (". WrapperDiv"). ScrollLeft();

chciałbym oznaczyć to pytanie jak zapytałem, ale ponieważ jestem nowy na przepełnienie stosu nie mogę odpowiedzieć na kolejne 7 godzin ....

Odpowiedz

0

Wystarczy flagą to pytanie, odpowiedział:

„It ponieważ kod używał $(window).scrollLeft(); zamiast elementu nadrzędnego w zakresie elementu, który chciałem manipulować. Opakowanie div zostało zaklasyfikowane jako "wrapperDiv", więc użyłem $(".wrapperDiv").scrollLeft(); "

Powiązane problemy