2011-08-16 13 views

Odpowiedz

34

To wydaje się działać.

var lastScrollLeft = 0; 
$(window).scroll(function() { 
    var documentScrollLeft = $(document).scrollLeft(); 
    if (lastScrollLeft != documentScrollLeft) { 
     console.log('scroll x'); 
     lastScrollLeft = documentScrollLeft; 
    } 
}); 

jsFiddle.

+0

Dlaczego potrzebujemy .scroll(); na końcu? –

+0

@Aharon To był dodatek do mojej poprzedniej inkarnacji. Teraz nie jest to konieczne, a ja zaktualizuję odpowiedź :) – alex

+0

To tylko zwiększa wartość. Jak mogę ją zwiększyć, kiedy idę w prawo i zmniejszam ją, gdy idę w lewo, czy wiesz? Z góry dziękuję. –

5

aktualizacji, która pokazuje kierunek w lewo lub w prawo w poziomego przewijania opartego na kodzie powyżej:

var lastPos = 0; 
$(window).scroll(function() { 
    var currPos = $(document).scrollLeft(); 

    if (lastPos < currPos) { 
     console.log('scroll right'); 
    } 
    if (lastPos > currPos) 
    { 
     console.log('scroll left'); 
    } 

    lastPos = currPos; 
}); 

przetestować go na http://jsfiddle.net/EsPk7/7/

3

dunderwood za jsFiddle odnośnik faktycznie nie zawierają jego kod. Mam rozwidlony jego jsFiddle co mieszaniną co on pisał tutaj i co jest na jsFiddle:

var lastPos = 0; 
$(window).scroll(function() { 
    var currPos = $(document).scrollLeft(); 

    if (lastPos < currPos) { 
     $('#current').html('Right'); 
    } 
    if (lastPos > currPos) { 
     $('#current').html('Left'); 
    } 

    lastPos = currPos; 
}); 

http://jsfiddle.net/kuVK8/

+0

Jest mały problem. Kiedy idziesz w górę/w dół, pisząc w prawo iw lewo. Czy istnieje jakieś rozwiązanie? – Rys

Powiązane problemy