Il n'y a pas de barre de défilement sur la div mais la roue de l'événement est détecté.
Il ne fonctionne pas dans FF 28 Pourquoi divisé par 120? Il semble donc que wheelDelta sort soit 120 ou -120 donc la division normalise cette valeur - mais personne ne sait pourquoi le navigateur choisit 120 comme valeur? Je recommande l'utilisation de la 2eme argument de la fonction de gestionnaire d'événement - delta: $('#el').on('mousewheel', function(e, delta) { if(delta > 0) { /*up*/ } else { /*down*/ }}). Voir cette réponse. C'est vraiment travaillé. Vraiment apprécié.
Cette réponse serait beaucoup mieux si elle comprenait davantage d'explications sur la façon dont il fonctionne, surtout qu'il est déjà un upvoted répondu présent. L'exemple fonctionne très bien, mais le documentation dit d'utiliser le 'wheel' de l'événement au lieu de 'mousewheel'.
Je vous recommande fortement d'utiliser ce plugin jQuery: PLUGIN
Sans plugin, essayez cet exemple: EXEMPLE
HTML:
Javascript:
Il n'y a pas de barre de défilement sur la div mais la roue de l'événement est détecté.
Pourquoi divisé par 120?
Il semble donc que
wheelDelta
sort soit120
ou-120
donc la division normalise cette valeur - mais personne ne sait pourquoi le navigateur choisit 120 comme valeur?Je recommande l'utilisation de la 2eme argument de la fonction de gestionnaire d'événement -
delta
:$('#el').on('mousewheel', function(e, delta) { if(delta > 0) { /*up*/ } else { /*down*/ }})
. Voir cette réponse.C'est vraiment travaillé. Vraiment apprécié.
OriginalL'auteur Aaron
utiliser ce code
L'exemple fonctionne très bien, mais le documentation dit d'utiliser le
'wheel'
de l'événement au lieu de'mousewheel'
.OriginalL'auteur Behnam Mohammadi
Et, si vous ne voulez pas utiliser de plugin (IE8, Chrome, Firefox, Safari, Opera...), il suffit de faire ceci:
Exemple vivant: http://jsfiddle.net/CvCc6/1/
OriginalL'auteur Alvaro
C'est juste une mise à jour de @Aaron, en réponse, à l'aide de la nouvelle "roue" de l'événement, décrit ici: https://developer.mozilla.org/en-US/docs/Web/Events/wheel
Vous pouvez également utiliser
deltaX
de voir de défilement horizontale, oudeltaZ
si vous avez quelques fous de la 3D.OriginalL'auteur nHaskins