Heim >Web-Frontend >HTML-Tutorial >Analyse- und Verarbeitungsmethoden für Bildlaufleisten, die sowohl in HTML als auch in Flash vorhanden sind und in die Erstellung von it_HTML/Xhtml_Webseiten eingebettet sind

Analyse- und Verarbeitungsmethoden für Bildlaufleisten, die sowohl in HTML als auch in Flash vorhanden sind und in die Erstellung von it_HTML/Xhtml_Webseiten eingebettet sind

WBOY
WBOYOriginal
2016-05-16 16:40:341263Durchsuche

Bei der Entwicklung stoßen wir häufig auf diese Situation:
a.swf wird zur Webseite hinzugefügt, a.swf- und HTML-Seiten verfügen gleichzeitig über Bildlaufleisten und der Projektmanager hat eine BT-Anforderung gestellt --- Prozess a Die SWF-Maus scrollt, die HTML-Seite scrollt nicht.

Methode 1: Bewegen Sie die Maus in eine .swf zum Scrollen des Bereichs: Weisen Sie JS an, den Browser-Maus-Scroll-Monitor zu entfernen 2 wmode von a.swf ist auf „window“ eingestellt.
Zusammenfassung: Wenn Sie wmode auf „window“ setzen, werden die Projektanforderungen möglicherweise nicht erfüllt, was dazu führt, dass a.swf alle darunter liegenden HTML-Seiten blockiert Bewegen Sie die Maus in den a.swf-Bildlaufbereich. Beim Seitenwechsel wird JS nicht benachrichtigt, um die Browser-Maus-Bildlaufüberwachung hinzuzufügen, sodass beim Zurückwechseln zur HTML-Seite nach dem Vorgang keine Bildlaufverarbeitung erfolgt


Methode 2
:
1.a. SWF bricht sein eigenes Maus-Scroll-Hörereignis ab und fügt eine Scroll-Verarbeitungsschnittstelle für den Aufruf von JS hinzu, z. B. „wheelToFlash(value)“. a.swf-Bildlaufbereich: Informieren Sie JS, zum Beispiel: MouseIsInFlashWheelRange=true hört auf Maus-Scroll-Ereignisse. In der Ereignis-Listening-Verarbeitungsfunktion müssen wir die folgenden Entscheidungen treffen Javascript-Code:




Code kopieren

Der Code lautet wie folgt:
if(mouseIsInFlashWheelRange==true) { /**Rufen Sie die von a.swf bereitgestellte Schnittstelle auf, damit a.swf das Scrollen simuliert*/
/**„Flash“ ist die ID einer in HTML eingebetteten SWF-Datei, und „Value“ ist der Wert des Scrollens in der HTML-Tabelle*/
document.getElementById("flashID").wheelToFlash(value);
/**Verhindern Sie das Sprudeln von Mausereignissen auf der HTML-Seite, normalerweise event.preventDefault()*/
event.preventDefault();
}
else
{
/**Um das normale Scrollen von HTML zu bewältigen, müssen wir nichts tun*/
}



Zusammenfassung
: Im Vergleich zu Methode 1 gibt es keine Einschränkung von wmode="window"; Das Problem mit der Alt-Tab-Taste besteht immer noch.

Hinweis
: Beim Schreiben von JS-Code müssen wir auf Kompatibilitätsprobleme achten. Verschiedene Browser überwachen Mausereignisse und erhalten unterschiedliche Bildlaufwerte!
Stellungnahme:
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