2010-07-06 16 views

Odpowiedz

11

Nie ma określonego zdarzenia, ale można przetestować pozycję .scrollLeft(), aby sprawdzić, czy przesunie się z poprzednio zapisanej pozycji.

coś takiego:

var prevLeft = 0; 
$(document).scroll(function(evt) { 
    var currentLeft = $(this).scrollLeft(); 
    if(prevLeft != currentLeft) { 
     prevLeft = currentLeft; 
     console.log("I scrolled horizontally."); 
    } 
}); 
+0

nie wiem dlaczego ja nawet nie myśleć o tym. Wielkie dzięki, dokładnie tego właśnie szukałem. (Zamiast tego użyłem scrollTop(), ponieważ pasowało to do mojej sytuacji) –

+0

@Michael - Nie ma za co. : o) – user113716

0

To powinno działać:

var prevLeft = 0; 
$(document).scroll(function(evt) { 
    var currentLeft = $(this).scrollLeft(); 
    if(prevLeft === currentLeft) { 
     console.log("I scrolled vertically."); 
    } 
    else { 
     prevLeft = currentLeft; 
    } 
}); 
3

Można również użyć .scrollTop dokonać zwyczaj pionowej zdarzenie przewijania.

var prevTop = 0; 
$(document).scroll(function(evt) { 
    var currentTop = $(this).scrollTop(); 
    if(prevTop !== currentTop) { 
     prevTop = currentTop; 
     console.log("I scrolled vertically."); 
    } 
}); 

Jquery .scrollTop()

Powiązane problemy