Heim > Web-Frontend > H5-Tutorial > Hauptteil

Das Ereignis onmousewheel des Skripts, das ausgeführt wird, wenn das Mausrad in HTML5 gescrollt wird

黄舟
Freigeben: 2017-11-07 09:46:32
Original
2258 Leute haben es durchsucht

Das

wheel-Ereignis unterscheidet sich geringfügig in verschiedenen Browsern. Einer wie Firefox verwendet auch die Methode addEventListener, um das DomMouseScroll-Ereignis zu binden . Lassen Sie mich Ihnen eine detaillierte Einführung geben.

Firefox verwendet DOMMouseScroll und andere Browser verwenden das Mausrad. Wenn ein Scroll-Ereignis ausgelöst wird, verwendet Firefox das Detail--Attribut , um die Radinformationen zu erfassen, und andere Browser verwenden WheelDelta. Ich weiß nicht, warum andere Hersteller in dieser Frage so konsequent mit Microsoft übereinstimmen. Firefox kann die Methode addEventListener verwenden, um das DomMouseScroll-Ereignis zu binden.

elem.addEventListener('DOMMouseScroll', func, false); IE und andere Mainstream-Browser können das traditionelle Ereignis-Bindungsmodell verwenden. Verwenden Sie jedoch nicht die proprietäre attachmentEvent-Methode des IE. Andere Mainstream-Browser erkennen die Methode von Microsoft nicht.

Das Scrollen mit dem Firefox-Mausrad nach oben beträgt -3, das Scrollen nach unten beträgt 3.

Das Scrollen mit dem IE-Mausrad nach oben beträgt 120, das Scrollen nach unten beträgt -120.

Das Scrollen mit dem Safari-Mausrad nach oben beträgt 360, nach unten scrollen ist -360

Opera-Mausrad nach oben scrollen ist 120, nach unten scrollen ist -120

Chrome-Mausrad nach oben scrollen ist 120, nach unten scrollen ist -120

Jemand hat einige Tests unter Safari durchgeführt: „Wenn Sie nur einmal scrollen, beträgt der Wert +-0,1. Wenn Sie etwas schneller scrollen (mehrmals scrollen), wird dieser Wert ebenfalls größer. Das liegt daran, dass es eine Maus gibt.“ Radbeschleunigungsfunktion unter Mac OS. Wenn Sie einmal scrollen, scrollt der Browser um 1 Pixel, und wenn Sie dreimal scrollen, scrollt der Browser um 30 Pixel.“ Gleichzeitig forschte er auch an Camino (einer auf Gecko basierenden Kernel-Engine): „Ähnlich wie Safari (+- 0,3 bis +-Infinity), obwohl es dieselbe Kernel-Engine wie Firefox verwendet, beträgt der Delta-Wert nur +.“ -2.666666 Floating, unabhängig von der Scrollgeschwindigkeit

Nach meinem Test sind IE/Opera vom gleichen Typ und Sie können attachmentEvent verwenden, um das Wheel-Ereignis hinzuzufügen

/*IE注册事件*/ 
if(document.attachEvent){  
  document.attachEvent('onmousewheel',scrollFunc);  
}
Nach dem Login kopieren

Firefox. addEventListener fügt Scrollrad-Ereignisse hinzu

/*Firefox注册事件*/ 
if(document.addEventListener){  
  document.addEventListener('DOMMouseScroll',scrollFunc,false);  
}
Nach dem Login kopieren

Safari und Chrome sind vom gleichen Typ und Ereignisse können mit HTML DOM hinzugefügt werden

window.onmousewheel=document .onmousewheel=scrollFunc;//IE/Opera/Chrome

Außer Firefox können alle anderen HTML-DOM zum Hinzufügen von Ereignissen verwenden, also fügen Sie Ereignisse mit der folgenden Methode hinzu

/*注册事件*/ 
if(document.addEventListener){  
  document.addEventListener('DOMMouseScroll',scrollFunc,false);  
}//W3C  
window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome
Nach dem Login kopieren


Das obige ist der detaillierte Inhalt vonDas Ereignis onmousewheel des Skripts, das ausgeführt wird, wenn das Mausrad in HTML5 gescrollt wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage