J'ai une fonction que j'ai liée à Je n'ai pas vu une telle possibilité dans la documentation de JQuery, pourrait-il y avoir un truc pour le faire? P> défilement () code> événement, mais je veux que la fonction soit déclenchée uniquement en cas de défilement vertical (j'ai aussi un défilement horizontal aussi). < / p>
3 Réponses :
Il n'y a pas d'événement spécifique, mais vous pouvez tester la position quelque chose comme ceci: p > .scrollleft () code> pour voir s'il a été déplacé d'une position précédemment stockée.
var prevLeft = 0;
$(document).scroll( function(evt) {
var currentLeft = $(this).scrollLeft();
if(prevLeft != currentLeft) {
prevLeft = currentLeft;
console.log("I scrolled horizontally.");
}
});
Je ne sais pas pourquoi je n'y ai même pas pensé. Merci beaucoup c'est exactement ce que je cherchais. (Je viens d'utiliser Scrolltop () à la place parce que cela ajusté ma situation)
Cela devrait fonctionner:
var prevLeft = 0; $(document).scroll( function(evt) { var currentLeft = $(this).scrollLeft(); if(prevLeft === currentLeft) { console.log("I scrolled vertically."); } else { prevLeft = currentLeft; } });
Vous pouvez également utiliser jQuery .scrolltop () p> p> .scrolltop code> pour créer un événement de défilement vertical personnalisé.