OnMouseover soll gehighlighted bleiben
Marcus
- javascript
Unsere Studis wollen eine Webseite mit Frames erstellen (so weit so schlecht).
Auf der linken Seite befindet sich sich die Menü/Navigationsleiste
und auf der rechten Seite (na klar, wie sonst) der anzuzeigende
Inhalt. Nun soll beim Überfahren mit der Maus der jeweilige Eintrag
gehighlighted werden (blöde Eindeutschung, sorry), was mit
"OnMouseover" ja kein Problem darstellt. Doch nun kommts: Der
angeklickte Link soll die Highlight-Farbe (notfalls auch eine andere)
behalten, aber es soll nicht unbedingt der linke Frame neu geladen
werden und die Highlight-Funktion muß weiterhin funktionieren....
Ich habe erfolgslos mit "Onclick" und weiteren Event-Handlern
herumexperimentiert und mich auch auf anderen Seiten
umgeschaut. Bis jetzt leider Fehlanzeige...
Es würde mir sehr helfen, wenn jemand einen Tip oder Link für mich
hätte. Ist das was ich mir vorstelle überhaupt machbar?
Liebe Grüße
Marcus
Hi,
Unsere Studis wollen eine Webseite mit Frames erstellen (so weit so schlecht).
Auf der linken Seite befindet sich sich die Menü/Navigationsleiste
und auf der rechten Seite (na klar, wie sonst) der anzuzeigende
Inhalt. Nun soll beim Überfahren mit der Maus der jeweilige Eintrag
gehighlighted werden (blöde Eindeutschung, sorry), was mit
"OnMouseover" ja kein Problem darstellt. Doch nun kommts: Der
angeklickte Link soll die Highlight-Farbe (notfalls auch eine andere)
behalten, aber es soll nicht unbedingt der linke Frame neu geladen
werden und die Highlight-Funktion muß weiterhin funktionieren....
Ich habe erfolgslos mit "Onclick" und weiteren Event-Handlern
herumexperimentiert und mich auch auf anderen Seiten
umgeschaut. Bis jetzt leider Fehlanzeige...
das Problem liegt hier wohl beim onMouseOut, mit dem der Highlight-Modus wieder deaktiviert wird. In dem Fall, daß der Button angeklickt wird (onClick) muß dem Script also gesagt werden, daß onMouseOut nicht mehr gilt. Wie macht man das? Man setzt sich eine Variable, die den aktuell angeklickten Button beinhaltet (am Anfang z.B. den Wert -1). onMouseOut prüft man jetzt, ob diese Variable den aktuellen Button enthält und tut in dem Fall halt gar nichts.
Hinweise:
Abgesehen von onMouseOver/Out mache ich übrigens das gleiche noch etwas komplexer auf http://cheatah.net/test/. Dort speichere ich auf den einzelnen Seiten und Untermenus, welcher Button nun angeklickt werden soll und führe die entsprechenden Funktionen frameübergreifend aus. Das ist ein wenig kompliziert, dafür funktioniert aber auch die Navigation mit Back- und Forward-Button des Browsers. Leider funktionieren nur die wenigsten Menupunkte, aber die erste Spalte sollte für den Anfang genügen ;-)
Cheatah
Inhalt. Nun soll beim Überfahren mit der Maus der jeweilige Eintrag
gehighlighted werden (blöde Eindeutschung, sorry), was mit
"OnMouseover" ja kein Problem darstellt. Doch nun kommts: Der
angeklickte Link soll die Highlight-Farbe (notfalls auch eine andere)
Schaue mal ins Archiv
<../../sfarchiv/1999_2/t03663.htm#a17636>
und wenn du im Kopf jeder Seite noch einen Funktionaufruf einbaust funktioniert es sogar mit dem vor und zurückbutton.
Antje
Unsere Studis wollen eine Webseite mit Frames erstellen (so weit so schlecht).
Auf der linken Seite befindet sich sich die Menü/Navigationsleiste
und auf der rechten Seite (na klar, wie sonst) der anzuzeigende
Inhalt. Nun soll beim Überfahren mit der Maus der jeweilige Eintrag
gehighlighted werden (blöde Eindeutschung, sorry), was mit
"OnMouseover" ja kein Problem darstellt. Doch nun kommts: Der
angeklickte Link soll die Highlight-Farbe (notfalls auch eine andere)
behalten, aber es soll nicht unbedingt der linke Frame neu geladen
werden und die Highlight-Funktion muß weiterhin funktionieren....
Ich habe erfolgslos mit "Onclick" und weiteren Event-Handlern
herumexperimentiert und mich auch auf anderen Seiten
umgeschaut. Bis jetzt leider Fehlanzeige...
Es würde mir sehr helfen, wenn jemand einen Tip oder Link für mich
hätte. Ist das was ich mir vorstelle überhaupt machbar?Liebe Grüße
Marcus
Hi!
Das Ganze sollte eigentlich gar kein Problem sein.
*************************************
pic1_normal = new Image();
pic1_normal.src = "blau.gif";
pic1_highlight = new Image();
pic1_highlight.src = "rot.gif";
*************************************
Mit diesem Block werden 2 Objekte erstellt und die entsprechenden Resourssen geladen.
Nun kannst du mit OnMouseover, bzw OnMouseout arbeiten
*************************************
<img src="blau.gif" name="pic1" onMouseOver="setPicture('pic1', pic1_highlight);">
*************************************
Die aufgerufene Funktion setPicture lautet wie folgt:
*************************************
function setPicture(img, imgobject) {
document.images[img].src=imgobject.src;
}
*************************************
Dein Chris
cploning@rainbow.studorg.tuwien.ac.at