Vor der Veröffentlichung von Microsoft IE 5.0 bestand die größte Herausforderung bei der Webprogrammierung darin, dass es nicht möglich war, einfach Komponenten zu erstellen, um die Wiederverwendung von Code und die gemeinsame Nutzung mehrerer Seiten zu erreichen. Dieses Problem bereitete DHTML-Webseitenprogrammierern (Dynamic HTML) schon immer Sorgen. Sie können HTML-, CSS- und JavaScript-Code nur ständig neu schreiben, um wiederholte oder ähnliche Funktionen auf mehreren Seiten zu erfüllen. Diese Situation hat sich seit der Veröffentlichung des IE 5.0-Browsers verbessert, der uns eine neue Methode zur Kombination von Anweisungen bietet, mit der der Code zur Implementierung bestimmter Funktionen in einer Komponente gekapselt werden kann. Dadurch wird die Codewiederverwendung für mehrere Seiten erreicht und die Webseitenprogrammierung erschließt sich eine völlig neue Welt. Über diese neue Technologie werden wir im Abschnitt „Verhalten“ von DHTML sprechen. Verhalten ist eine einfache und benutzerfreundliche Komponente, die bestimmte Funktionen oder Aktionen auf einer Seite kapselt. Wenn einem Element einer Webseite ein „Verhalten“ zugeordnet wird, ändert sich das ursprüngliche Verhalten des Elements. Daher können Webseitenprogrammierer allgemeine DHTML-Anweisungen entwickeln und einige Eigenschaften der Originalobjekte ändern, indem sie „Verhalten“ verwenden, um die Funktion eines Objekts zu verbessern und gleichzeitig den HTML-Code der Seite zu vereinfachen. Darüber hinaus ist auch die Erstellung und Verwendung von „Verhaltensweisen“ sehr einfach und bequem, und Sie benötigen lediglich Kenntnisse über CSS-Stylesheets, HTML-Anweisungen und die JavaScript-Skriptsprache, mit deren Verwendung Sie bereits vertraut sind. Solange Sie ein gewisses Verständnis hierfür haben und über praktische Programmiererfahrung verfügen, ist es kein Problem, den Einsatz von „Verhaltensweisen“ zu erlernen und zu beherrschen. Wir werden als Beispiel eine „Verhaltens“-Komponente verwenden, die Schrifteffekte ändert, um zu veranschaulichen, wie man ein „Verhalten“ schreibt und verwendet, und um die Vorteile und den Komfort kennenzulernen, die „Verhalten“ bei der Seitenbearbeitung bieten. Erstellen Sie zunächst eine neue Textdatei mit dem Namen font_efftce.htc. Die Dateien, aus denen die Komponente „Verhalten“ besteht, haben alle die Erweiterung .htc. Der Inhalt dieser Datei ist unsere Beschreibung dieses „Verhaltens“. Die Schritte zum Erstellen und Verwenden sind wie folgt: Code kopieren Der Code lautet wie folgt:(1) Fügen Sie zunächst diesem „Verhalten“ mehrere Ereignisantworten hinzu. Das Format für die Anweisung lautet wie folgt: <PUBLIC:ATTACH EVENT="beimMouseover" ONEVENT="glowit()"/> <PUBLIC:ATTACH EVENT="beimMouseout" ONEVENT="noglow()"/> <PUBLIC:ATTACH EVENT="beimMousedown" ONEVENT="font2yellow()"/> <PUBLIC:ATTACH EVENT="onmouseup" ONEVENT="font2blue()"/> [\s\S ]*\n "EVENT" entspricht dem gewünschten Eventnamen, hier sind es nmouseover, onmouseout, onmousedown, onmouseup. Sie können natürlich auch andere Eventnamen hinzufügen, um Ihren speziellen Anforderungen gerecht zu werden. „ONEVENT“ entspricht einem einzelnen Eventhandler, also dem Namen der Funktion, die aufgerufen wird, wenn das Event ausgelöst wird. Die Funktion glowit() erzeugt einen roten Schein um Schriftarten. Die Funktion noglow() eliminiert den Leuchteffekt der Schrift. Die Funktion Font2yellow() ändert die Schriftfarbe in Gelb. Die Funktion Font2blue() ändert die Schriftfarbe in Blau. Die Definitionen aller vier Ereignisse sind ähnlich. (2) Als nächstes fügen Sie diesem „Verhalten“ wie folgt zwei weitere „Methoden“-Definitionen hinzu. <PUBLIC:METHOD NAME="nach_unten verschieben"/> <PUBLIC:METHOD NAME="nach_rechts_bewegen"/> Der Parameter „NAME“ entspricht dem angegebenen „Methoden“-Namen. move_down und move_right sind die Funktionsnamen, die den „Methoden“ zum Bewegen nach unten bzw. nach rechts entsprechen. Beachten Sie, dass nach dem Methodennamen keine Klammern „()“ stehen dürfen. Schreiben Sie ihn also nicht als „move_down()“, was in der Syntax der „Methoden“-Definition nicht zulässig ist. (3) Im nächsten Schritt schreiben wir mittels Javascript-Skriptanweisungen die entsprechenden Funktionsinhalte zu „Eventhandler“ und „Methode“ in der uns bekannten DHTML-Umgebung, um den gewünschten Effekt zu erzielen. Konkrete Inhalte finden Sie im Quellcode weiter unten. Der Parameter „Element“ bezieht sich auf das Objekt, an das dieses „Verhalten“ angehängt wird, da „Verhalten“ immer an ein Element auf der Seite angehängt wird und durch dieses Element wirkt. Bei den anderen Anweisungen handelt es sich alle um DHTML-Programmierinhalte, daher werde ich nicht ins Detail gehen. Wenn Sie Fragen haben, können Sie die Inhalte zum IE-Browser in der MSDN-Entwicklungsdokumentation von Microsoft zu Rate ziehen, die ausführliche Referenzinhalte zur DHTML-Programmierung, Anweisungen zur Verwendung von Eigenschaften und Methoden usw. sowie eine große Anzahl von Artikeln und Beispielprogrammen enthält. Besonders für Anfänger ist es eine gute Lerngewohnheit, regelmäßig die MSDN-Dokumentation von Microsoft zu besuchen. Dort finden Sie praktisch jede gewünschte Antwort. Die URL lautet: http://msdn.microsoft.com/ie/. Der Inhalt des vollständigen „Verhaltens“-Dokuments „font_effect.htc“ ist wie folgt: //////////////////////////Beginn des Dokuments „Verhalten“/ ... //Füge „Verhalten“ vier Mausereignisse hinzu [Code] <PUBLIC:ATTACH EVENT="beimMouseover" ONEVENT="glowit()"/> <PUBLIC:ATTACH EVENT="beimMouseout" ONEVENT="noglow()"/> <PUBLIC:ATTACH EVENT="beimMousedown" ONEVENT="font2yellow()"/> <PUBLIC:ATTACH EVENT="onmouseup" ONEVENT="font2blue()"/> //Definieren Sie zwei Methoden für „Verhalten“ <PUBLIC:METHOD NAME="nach_unten verschieben"/> <PUBLIC:METHOD NAME="nach_rechts_bewegen"/> <SCRIPT LANGUAGE="JScript"> //Definieren Sie eine Variable zum Speichern der Schriftfarbe var Schriftfarbe; //Definieren Sie die Methode zum Verschieben von Text nach unten Funktion move_down() { element.style.posTop+=2; } //Definieren Sie eine Methode, um Text nach rechts zu verschieben Funktion move_right() { element.style.posLeft +=6; } //Definieren Sie die aufrufende Funktion des Maus-OnMouseUp-Ereignisses Funktion font2blue(){ wenn (event.srcElement == element) { element.style.color='blau'; } } //Definieren Sie die aufrufende Funktion des Maus-OnMouseDown-Ereignisses Funktion font2yellow(){ wenn (event.srcElement == element) { element.style.color='gelb'; } } //Definieren Sie die aufrufende Funktion des Maus-OnMouseOver-Ereignisses Funktion Glowit () { wenn (event.srcElement == element) { Schriftfarbe=Stil.Farbe; element.stil.farbe='weiß'; element.style.filter="leuchten(Farbe=rot,Stärke=2)"; } } //Definieren Sie die aufrufende Funktion des Maus-OnMouseOut-Ereignisses Funktion noglow() { wenn (event.srcElement == element) { element.style.filter=""; element.stil.farbe=Schriftfarbe; } } </SCRIPT> ///////////////////Ende des Dokuments „Verhalten“/ ... (4) So verwenden Sie „Verhalten“ auf einer Seite Sie müssen sich keine neuen Kenntnisse aneignen, um die Komponente „Verhalten“ auf der Seite zu verwenden. Die erforderlichen Kenntnisse sind lediglich das CSS-Stylesheet und die HTML-Einstellungen. Bitte beachten Sie die folgenden Anweisungen. Code kopieren Der Code lautet wie folgt:<STIL> .myfilter{Verhalten:URL(font_effect.htc);Position:relative;Schriftstärke:fett;Breite=180;links:0;} </STIL> Wie Sie sehen, handelt es sich hierbei exakt um die Stylesheet-Einstellungen, die wir bereits kennen. Die obige Anweisung definiert einen Stilnamen: „myfilter“, und der neue Inhalt ist für uns: „behavior:url(font_effect.htc);“, „behavior“ ist der Name des neu hinzugefügten „behavior“-Attributs, mit dem „behavior“ im Stylesheet festgelegt wird. Der Inhalt in Klammern ist der Dateiname des Dokuments „Behavior“. In diesem Beispiel bedeutet dies, dass sich das Dokument „Behavior“ im selben Verzeichnis wie die Auslagerungsdatei befindet. Wenn das Dokument „Behavior“ in anderen Verzeichnissen abgelegt ist, sollte vor diesem Parameter der entsprechende Pfadname hinzugefügt werden, um sicherzustellen, dass das Dokument „Behavior“ korrekt gefunden werden kann. Der restliche „Stil“ ist nur eine normale Stileigenschaftseinstellung, die nach Bedarf erhöht oder verringert werden kann. In diesem Beispiel muss jedoch, da der Filtereffekt „Glühen“ verwendet wird, zumindest eine Breiteneigenschaft festgelegt werden. Mit der obigen Stilspezifikation haben wir jetzt einen Stil namens „myfilter“, der mit einem „Verhalten“ ausgestattet ist, das einen Effekt zur Änderung der Schriftart hat. Wenn Sie diesen Stil mit „Verhalten“ auf einer Seitenkomponente verwenden möchten, ist das auch ganz einfach. Platzieren Sie einfach diesen „Stilnamen“ im Eigenschaftseinstellungsbereich der Komponente, wie in der folgenden Anweisung gezeigt. <span id="myspan" class='myfilter'>Durch das Verhalten erzeugte Texteffekte</span><br> <span class='myfilter'>Leuchtet, wenn die Maus zeigt</span> Die obige Anweisung enthält nichts Neues. class='myfilter' ist die uns bekannte Stileinstellung. In den Attributen des ersten „span“-Tags wird auch ein „id“-Tag definiert. Wir werden später sehen, dass dies verwendet wird, um die Einstellung des Aufrufs der „Methode“ innerhalb des „Verhaltens“ zu demonstrieren. Nach dieser Einstellung kann der Inhalt im Element „span“ den vorgegebenen Effekt in der Komponente „behavior“ anzeigen: 1. Wenn der Mauszeiger über einen Textinhalt bewegt wird, entsteht um den Text herum ein roter Leuchteffekt und der Text wird weiß. 2. Beim Drücken der Maustaste ändert sich die Textfarbe auf gelb. 3. Beim Loslassen der Maustaste ändert sich die Textfarbe wieder auf blau. 4. Wenn der Mauszeiger aus dem Textbereich bewegt wird, wird der rote Leuchteffekt entfernt und der Text kehrt in seinen ursprünglichen Zustand zurück. Darüber hinaus legen wir beim Definieren des „Verhaltens“ zwei „Methoden“ fest: „nach unten bewegen“ und „nach rechts bewegen“. Um diese beiden „Methoden“ aufzurufen, sind zwei Schaltflächen definiert: Code kopieren Der Code lautet wie folgt:<button onclick="myspan.move_right();">Verschiebt die erste Textzeile nach rechts</button> <button onclick="myspan.move_down();">Erste Textzeile nach unten verschieben</button> Verwenden Sie das Onclick-Ereignis der Schaltfläche, um diese beiden „Methoden“ aufzurufen. Das zuvor definierte „id“-Tag wird als Objektname der Komponente verwendet. Verwenden Sie „myspan.move_down“, um die „Methode“ zum Bearbeiten dieses Objekts aufzurufen. Es ist ersichtlich, dass sich der Text in der ersten Zeile nach dem Drücken der entsprechenden Taste nach unten bzw. nach rechts verschiebt. Obwohl nur die erste Textzeile als Demonstration verwendet wird, können Sie tatsächlich auch andere Objekte verschieben, solange Sie die entsprechenden Einstellungen vornehmen. Der vollständige Inhalt des Seitenquelldokuments lautet wie folgt: Code kopieren Der Code lautet wie folgt:<html> <KOPF> <TITLE >Demonstration von Verhaltenseffekten< /TITLE > <STIL> .myfilter{Verhalten:URL(font_effect.htc);Position:relative;Schriftstärke:fett;Breite=180;links:0;} </STIL> </KOPF> <KÖRPER> <span id="myspan" class='myfilter'>Durch das Verhalten erzeugte Texteffekte</span> <span class='myfilter'>Leuchtet, wenn die Maus zeigt</span> <span class='myfilter'>Gleichzeitig wird der Text weiß</span> <span class='myfilter'>Der Text wird gelb, wenn die Maus gedrückt wird</span> <span class='myfilter'>Der Text wird blau, nachdem Sie die Maus anheben</span> <span class='myfilter'>Der Text kehrt in seinen ursprünglichen Zustand zurück, nachdem die Maus ihn verlassen hat</span> <button onclick="myspan.move_right();">Verschiebt die erste Textzeile nach rechts</button> <button onclick="myspan.move_down();">Erste Textzeile nach unten verschieben</button> </BODY> </html> Aus der einfachen Einführung oben können wir ersehen, dass wir problemlos mehrere Textänderungseffekte gleichzeitig in einem „Verhalten“ kombinieren und es durch einfache „Stil“-Einstellungen beliebig mit Seitenelementen verknüpfen können, was die Vorteile und leistungsstarken Funktionen der „Verhaltens“-Komponente widerspiegelt. Eine Verhaltenskomponente kann nicht nur innerhalb einer Seite, sondern auch auf allen Seiten derselben Site wiederverwendet werden. Stellen Sie sich vor, Sie verwenden kein „Verhalten“, um den oben genannten Effekt zu erzielen. Obwohl Sie eine Reihe vorgegebener Funktionen auf der Seite aufrufen können, um dieselbe Funktion auszuführen, müssen an jede Komponente, die Texteffekte auf der Seite verwendet, vier Mausereignisse angehängt werden. Wenn derselbe Effekt auf mehreren Seiten verwendet wird, muss die aufgerufene Funktion auch auf jeder Seite wiederholt festgelegt werden. Im Vergleich ist klar, was besser ist. Daher können Sie durch die Verwendung der Komponente „Verhalten“ prägnante, effiziente, universelle und leicht zu pflegende Seiten erstellen. Die Beispiele in diesem Artikel dienen lediglich zur Veranschaulichung des Schreib- und Verwendungsprozesses von „Verhaltens“-Komponenten, damit die Leser ein allgemeines Verständnis der „Verhaltens“-Programmierung erhalten und auf dieser Grundlage die „Verhaltens“-Komponenten erstellen können, die sie benötigen, oder direkt auf vorgefertigte „Verhaltens“-Komponenten verweisen können, die ihren persönlichen Anforderungen entsprechen, da das Konzept der „Komponentenfreigabe“ auch die ursprüngliche Absicht von „Verhaltens“-Entwicklern ist. Abschließend hoffe ich, dass dieser Artikel den Lesern als Ausgangspunkt dienen kann, um in die wunderbare Welt der DHTML-Webseitenprogrammierung einzusteigen. veranschaulichen: HTC ist die Abkürzung für HTML-Komponente. Es ist eine der Haupterweiterungen von IE5.0. Neben der Wiederverwendbarkeit allgemeiner Komponenten, Darüber hinaus bietet es den Vorteil, dass es einfach zu entwickeln und zu verwenden ist. Da externe Dateien eingeführt werden müssen, werde ich hier keine Beispiele geben. Beispiele finden Sie in der Schatzkammer. Bedienelemente und Komponenten HTC bietet einen einfachen Mechanismus zum Implementieren von DHTML-Verhalten in Skripts. Eine HTC-Datei unterscheidet sich nicht von einer HTML-Datei und hat die Endung „.htc“. Mit HTC können die folgenden Verhaltensweisen erreicht werden: Legen Sie Eigenschaften und Methoden fest. Benutzerdefinierte Ereignisse werden über die Elemente „PROPERTY“ und „METHOD“ definiert. Dies geschieht über das Element „EVENT“, wobei die Methode „fire()“ des Elements zum Auslösen des Ereignisses verwendet wird. Die Ereignisumgebung wird durch die Methode „createEventObject()“ festgelegt. Greifen Sie auf das DHTML-Objektmodell der HTML-Seite zu, die das HTC enthält, verwenden Sie das „Element“-Objekt des HTC und geben Sie ein Element mit angehängtem Verhalten zurück. Mithilfe dieses Objekts kann das HTC auf das Dokument und sein Objektmodell (Eigenschaften, Methoden, Ereignisse) zugreifen. Um Benachrichtigungen zu erhalten, verwenden Sie das Element „ATTACH“. Der Browser benachrichtigt HTC nicht nur über standardmäßige DHTML-Ereignisse, sondern auch über zwei spezielle Ereignisse: das Ereignis oncontentready und das Ereignis ondocumentready. Definieren von Tags und Namespaces Die Grundlage von HTC sind benutzerdefinierte Tags. Um ein benutzerdefiniertes Tag für eine Seite zu definieren, müssen Sie einen Namespace für das Tag angeben. Um das Tag zu verwenden, müssen Sie vor dem Tag das richtige XML-Namespace-Präfix hinzufügen. Beispiel: Nachfolgend sehen Sie ein Beispiel für einen Codeausschnitt, der ein neues Tag RECHTS definiert: Code kopieren Der Code lautet wie folgt:<HTML XMLNS:DOCJS> <KOPF> <STIL> @media alle { DOCJS\:RIGHT {Textausrichtung:rechts; Breite:100} } </STIL> </KOPF> <KÖRPER> <DOCjs:RECHTS> Lesen Sie die Spalten, Tipps, Tools und Tutorials von Doc Javascript </DOCjs:RECHTS> </BODY> </HTML> In einem einzigen HTML-Tag können mehrere Namespaces definiert werden: <HTML XMLNS:DOCJS XMLNS:DOCjavascript> Komponentendefinition Der Name der Komponente wird durch den XML-Namespace bestimmt, der in der ersten Zeile des HTC-Dokuments definiert ist. Wenn die Seite keine anderen HTCs aufruft, gibt es nur eine Namespace-Definition. Tatsächlich ist die Definition einer HTML-Komponente die Definition eines benutzerdefinierten Tag-Verhaltens. Das Verhalten umfasst ein Attribut und ein Ereignis: Code kopieren Der Code lautet wie folgt:<HTML xmlns:MeinTag> <KOPF> <PUBLIC:COMPONENT tagName="MeinTag"> <PROPERTY NAME="Wert"></PROPERTY> <ATTACH EVENT="oncontentready" ONEVENT="fnInit()"<>/ATTACH> </PUBLIC:KOMPONENTE> <STYLE> //Definieren Sie ein Stylesheet für die Komponente .cssMeinTag{ } </STIL> <SCRIPT-Sprache=Javascript> function MyTagBehavior1(){} //Methoden für Komponenten definieren </SCRIPT> </KOPF> <BODY onclick=MyTagBehavior1> //Antwortereignisse für Komponenten definieren </BODY> </HTML> Das oncontentready wird ausgelöst, wenn die Komponente vollständig vom Anrufer importiert wurde. Schauen wir uns fnInit() an. Code kopieren Der Code lautet wie folgt:Funktion fnInit() { document.body.innerHTML = element.value; //Anzeigeinhalt der Komponente festlegen document.body.className = "clsMyTag"; //Anzeige-Stylesheet festlegen, defaults.viewLink = document; // Diese Komponente für andere Dokumente sichtbar machen element.aProperty = element.value; //Legen Sie den Eigenschaftswert der Komponente fest } Aufrufende Komponenten Code kopieren Der Code lautet wie folgt:<HTML xmlns:MyCom> <KOPF> <?IMPORT NAMESPACE="MyCom" IMPLEMENTATION="MyTag.htc"/> </KOPF> <KÖRPER> <MyCom:MeinTag></MyCom:MeinTag> </BODY> </HTML> |
<<: Tabelle zeigt den Grenzcode, den Sie anzeigen möchten
Dies ist mein erster Blogbeitrag. Aus Zeitgründen...
1. Überlauf Überlauf ist Überlauf (Container). We...
Einführung Derzeit ist k8s sehr beliebt und ich h...
In diesem Artikel wird der spezifische Code des P...
Einführung: Alle Browser verfügen über Standardst...
Vorwort: Für die Implementierung digitaler Additi...
Aufgrund von Geschäftsanpassungen im Unternehmen ...
Warum kann es die Höhe festlegen, aber im Gegensat...
So führen Sie SVG-Symbole in Vue ein Methode 1 zu...
Jeden Tag ein jQuery-Plugin - jQuery-Plugin zur I...
Einführung Mit Animation können Sie mithilfe von ...
Befolgen Sie die nachstehenden Schritte 1. Inhalt...
W3Cschool erklärt es so Das <meta>-Element l...
MySQL ist eine relativ einfach zu verwendende rel...
Viele Internetnutzer fragen sich oft, warum ihre W...