J'ai quelque chose aujourd'hui. La page était à l'origine horizontale, il y avait donc une barre de défilement horizontale en bas, et il n'y avait pas de barre de défilement verticalement. Maintenant, il est nécessaire que la poulie de souris fait défiler à gauche et à droite, ce qui nécessite l'écriture de code JS pour l'implémenter. J'ai eu beaucoup de mal à écrire ce processus.
Les fonctions soutenues par les trois navigateurs de IE Firefox Chrome sont complètement différentes, c'est fou.
Voici quelques points de connaissance pour expliquer
Surveiller les événements de poulie
IE: OnMousewheel
Firfox: Domoussescroll
chrome: roue de souris
Hélas, sans voix
La valeur de retour de défilement est également différente
Firfox retourne + -3 avec le détail
D'autres utilisent Wheeldelta pour retourner + -120
Il y a une valeur de retour pour déterminer la direction du défilement
En plus de la page de jugement chromée, le mouvement de gauche, document.DocumentElement.Scrollleft est utilisé pour les navigateurs généraux.
Cependant, le navigateur Chrome doit utiliser document.body.scrollleft
Ok, le code est partagé comme suit:
<! Doctype html public "- // w3c // dtd xhtml 1.0 transitional // en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns = "http://www.w3.org/1999/xhtml"> <read> <meta http-equiv = "contenu-type" contenu = "text / html; charset = utf-8" /> <itle> intr tiled document </ title> </-head> <body> <div id = "Test"> </ div lingter dbody = document.getElementById ('test'); // ff utilise objaddevent (document, 'Domousscroll', fonction (e) {return souris_scroll (e);}) // no ff chrome utilise objaddevent (document, 'muousewhee', function (e) {return souris_scroll (e);}) // use chrome utilise (e) objAdDevent (DBODY, 'MOUSEWEEL', fonction (e) {return souris_scroll (e);}) function souris_scroll (e) {e = e || window.event; var deld = e.wheeldelta? E.Wheeldelta: -e.detail * 40; // juge la direction de haut et de bas var move_s = deld> 0? -50: 50; document.documentElement.scrollft + = move_s; // utilise ceci pour les navigateurs non chromes // Utilisez-le pour les navigateurs chrome if (document.documentElement.scrollleft == 0) document.body.scrollleft + = move_s; return false;} // Ceci est une fonction qui ajoute des méthodes de surveillance à la fonction objet objadDevent (Oele, Seventname, fnhandler) {if (oele.attachevent) oele.attachevent ('on' + Seventname, fnhandler); else oele.addeventListener (Seventname, fnhandler, false);} </cript> </ body> </html>En fait, il y a un problème avec ce code. Dans le navigateur Chrome, seule la souris peut glisser dans cette couleur grise. Je n'ai pas résolu ce problème. Si cet expert le résout, vous pouvez laisser un message pour me le dire, merci.