Ich habe heute etwas bekommen. Die Seite war ursprünglich horizontal, so dass am Boden eine horizontale Bildlaufleiste stand, und es gab keine skanische Bildlaufleiste vertikal. Jetzt ist es erforderlich, dass die Mausscheibe nach links und rechts scrollen sollte, was das Schreiben von JS -Code erfordert, um ihn zu implementieren. Ich habe bei der Schreiben dieses Prozesses viel Mühe gestoßen.
Die Funktionen der drei Browser von IE Firefox Chrome sind völlig anders, es ist verrückt.
Hier sind ein paar Wissenspunkte, die Sie erklären müssen
Überwachen Sie die Ereignisse der Riemenscheibe
IE: Onmousewheel
Firfox: DommouSeScroll
Chrom: Mausrad
Leider, sprachlos
Der Scrolling -Rückgabewert ist ebenfalls unterschiedlich
Firfox kehrt +-3 mit Details zurück
Andere verwenden Wheeldelta, um +-120 zurückzukehren
Es gibt einen Rückgabewert, um die Richtung des Bildlaufs zu bestimmen
Zusätzlich zur Seite Links von Chrom Ackung links, document.documentElement.scrollleft wird für allgemeine Browser verwendet.
Der Chrombrowser muss jedoch document.body.scrollleft verwenden
Ok, der Code wird wie folgt geteilt:
<! DocType html public "-// w3c // dtd xhtml 1.0 transitional // en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transsitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Unt titled document</title></head> <body><div id="test"></div><script language="javascript"> var dbody = document.getElementById ('test'); // ff Verwenden Sie objadDevent (document, 'dommousScroll', Funktion (e) {return mouse_scroll (e);}) // no ff Chrom Verwenden Sie ObjadDevent (Dokument, 'Mauswader', Funktion (e) {return mouse_scroll (e); objadDevent (dbody, 'Mausrad', Funktion (e) {return mouse_scroll (e);}) function mouse_scroll (e) {e = e || window.event; var deld = e.wheelldelta? e.Wheeldelta: -e.detail*40; // Richter auf und ab richten var move_s = deld> 0? -50: 50; document.documentElement.scrollleft+= Move_s; // Verwenden Sie dies für nicht-chrome-Browser // Verwenden Sie dies für Chrome-Browser, wenn (document.documentElement.scrollleft == 0) document.body.scrollleft+= move_s; return aste;} // Dies ist eine Funktion, die der Objektfunktion ObjadDeDevent (Oele, Seventname, fnhandler) {if (oele.attachEvent) oele.Tatsächlich gibt es ein Problem mit diesem Code. Im Chrombrowser kann nur die Maus in diese graue Farbe gleiten. Ich habe dieses Problem nicht gelöst. Wenn dieser Experte es löst, können Sie eine Nachricht hinterlassen, um es mir zu sagen, danke.