onmouseover im Javascript?
Julia
- javascript
Hallo an alle,
ich versuche seit geraumer Zeit, einen Onmouseover-Effekt innerhalb eines Javascripts (für Bookmarks) zu plazieren, aber es funktioniert nicht. So sieht es aus:
<script language="JavaScript">
<!--
if (document.all) document.write('<a href="javascript:favorites()" onmouseout="src='images/gif/knopf_klein_down_hell.gif'" onmouseover="src='images/gif/knopf_klein_up_hell.gif">zu Favoriten hinzufügen<img src="images/gif/knopf_klein_down_hell.gif" border=0 alt="Bookmark setzen" width=16 height=16></a>')
//-->
</script>
Weiß jemand, wo der Fehler liegt?
Vielen Dank,
Julia
Hallo Julia,
Weiß jemand, wo der Fehler liegt?
Ja - die Syntax für die Bildwechsel ist falsch. Einfachg nur src ohne Angabe des Objektes, auf das es angewendet werden soll, geht nicht. Wie's richtig geht steht hier: <../../tedg.htm>
BTW: Über JavaScript Bookmarks setzenm geht im Netscape nicht.
Grüße,
Utz
Hallo Julia,
Weiß jemand, wo der Fehler liegt?
Ja - die Syntax für die Bildwechsel ist falsch. Einfachg nur src ohne Angabe des Objektes, auf das es angewendet werden soll, geht nicht. Wie's richtig geht steht hier: <../../tedg.htm>
BTW: Über JavaScript Bookmarks setzenm geht im Netscape nicht.
Grüße,
Utz
Hallo Utz,
danke für die Antwort.
Mach ich:
<script language="JavaScript">
<!--
if (document.all) document.write('<a href="javascript:favorites()" onmouseout="document.text_frame_k3.src='images/gif/knopf_klein_down_hell.gif'" onmouseover="document.text_frame_k3.src='images/gif/knopf_klein_up_hell.gif">zu Favoriten hinzufügen<img src="images/gif/knopf_klein_down_hell.gif" border=0 name="text_frame_k3" alt="Bookmark setzen" width=16 height=16></a>')
//-->
</script>
Dann bekomme ich aber die Meldung "Expected ')'"
Ich möchte noch mehr Code im Head vermeiden. Normalerweise brauche ich den auch nicht für Mouseover.
Gruß,
Julia
Hallo Julia,
Weiß jemand, wo der Fehler liegt?
Ja - die Syntax für die Bildwechsel ist falsch. Einfachg nur src ohne Angabe des Objektes, auf das es angewendet werden soll, geht nicht. Wie's richtig geht steht hier: <../../tedg.htm>
BTW: Über JavaScript Bookmarks setzenm geht im Netscape nicht.
Grüße,
Utz
Hallo Utz,
danke für die Antwort.
Mach ich:
zwischen den beiden '' in document.write() dürfen keine ' zeichen alleine vorkommen da sonst das ganze zu früh abgebrochen wird und der browser einen teil des inhaltes sogar noch als javascript ansieht was dann erst recht zu einem fehler führt - diese zeichen müssen mit ' umschrieben werden
ach und falls es dir mal passieren sollte dass \ zeichen vorkommen musst du die mit \ umschreiben
ausserdem hat beim mouseover das beendende ' wiederum gefehlt!
<script language="JavaScript"><!--
if (document.all) document.write('<a href="javascript:favorites()" onmouseout="document.text_frame_k3.src='images/gif/knopf_klein_down_hell.gif'" onmouseover="document.text_frame_k3.src='images/gif/knopf_klein_up_hell.gif'">zu Favoriten hinzufügen<img src="images/gif/knopf_klein_down_hell.gif" border="0" name="text_frame_k3" alt="Bookmark setzen" width="16" height="16"></a>')
//--></script>
cya, iso
Dann bekomme ich aber die Meldung "Expected ')'"
Ich möchte noch mehr Code im Head vermeiden. Normalerweise brauche ich den auch nicht für Mouseover.Gruß,
Julia
<script language="JavaScript"><!--
if (document.all) document.write('<a href="javascript:favorites()" onmouseout="document.text_frame_k3.src='images/gif/knopf_klein_down_hell.gif'" onmouseover="document.text_frame_k3.src='images/gif/knopf_klein_up_hell.gif'">zu Favoriten hinzufügen<img src="images/gif/knopf_klein_down_hell.gif" border="0" name="text_frame_k3" alt="Bookmark setzen" width="16" height="16"></a>')
//--></script>cya, iso
Tausend Dank, iso!!
liebe Julia,
ich verstehe zwar nicht, warum Du Netscape
aussen vor laesst, wo man doch auf simple
und trotzdem effektive weise eine X-browser-
variante stricken koennte... naja...
hier Dein umgemodeltes script:
<script language="JavaScript">
<!--
if (document.all)
{
var schreib_was = ''+
'<a href="javascript:favorites()'+
' onmouseout="self.document.images['+"'BOOKMARK_01'"+'].src='+"'"+
'images/gif/knopf_klein_down_hell.gif'+"'"+
' onmouseover="self.document.images['+"'image_name'"+'].src='+"'"+
'images/gif/knopf_klein_up_hell.gif'+"'"+'">zu Favoriten hinzufuegen'+
'<img src="images/gif/knopf_klein_down_hell.gif" name="BOOKMARK_01"'+
' width="16" height="16" alt="Bookmark setzen" border="0"></a>';
self.document.write(schreib_was);
}
//-->
</script>
Weiss jemand, wo der Fehler liegt?
+zum einen musst Du schon genau angeben, welches neue bildquelle
Du auf welchem bild im dokument zuweisen moechtest:
* self.document.images["imagename"].src = "---.gif"; oder
* self.document.images[x].src = "---.gif" wobei x einer zahl
aus einer forlaufend nummerierten liste aller bilder in einem
geoeffneten html-dokument entspricht (?verstaendlich?);
+zum anderen, musst Du darauf achten, wie Du zeichenketten erzeugst-
diese duerfen nicht durch unsaubere quotes(",') 'gebrochen' werden:
wenn Du eine zeichenkette mit (") beginnst wird deren ende beim
naechsten auftretenden (") interpretiert - gilt auch fuer (') -
soll eine zeichenkette also komplexe ausdreucke mit mehr als einem
oeffnenden und schliessenden quote enthalten, musst Du Dir mit dem
oben angewandten trick behelfen - ausserdem gibt es fuer sonder-
zeichen, die nicht umschrieben werden koennen eine moeglichkeit,
in zeichenketten zu "erscheinen": alle statements nach einem back-
slash beeinflussen die interpretation eines ausdruckes nicht - also:
"bla..bla.."..oops ein quot" = 'bla.. bla.. "..oops ein quot'
und erscheint bei einer ausgabe so: bla.. bla.. "..oops ein quot
im grossen und ganzen waere es auch hilfreich, sich mal eingehender
mit der materie "JavaScript" zu beschaeftigen und mit referenzen
von einschlaegigen buechern zu arbeitenm, damit solche fragen nicht
allzuoft im forum auftauchen.
tschuess und by(t)e by(t)e - peter - pseliger@gmx.net
liebe Julia,
ich verstehe zwar nicht, warum Du Netscape
aussen vor laesst, wo man doch auf simple
und trotzdem effektive weise eine X-browser-
variante stricken koennte... naja...hier Dein umgemodeltes script:
<script language="JavaScript">
<!--
if (document.all)
{
var schreib_was = ''+
'<a href="javascript:favorites()'+
' onmouseout="self.document.images['+"'BOOKMARK_01'"+'].src='+"'"+
'images/gif/knopf_klein_down_hell.gif'+"'"+
' onmouseover="self.document.images['+"'image_name'"+'].src='+"'"+
'images/gif/knopf_klein_up_hell.gif'+"'"+'">zu Favoriten hinzufuegen'+
'<img src="images/gif/knopf_klein_down_hell.gif" name="BOOKMARK_01"'+
' width="16" height="16" alt="Bookmark setzen" border="0"></a>';
self.document.write(schreib_was);
}
//-->
</script>
das kann man auch verwenden aber image_name sollte vorher noch durch BOOKMARK_01 ersetzt werden, sonst funzts nich :)
Weiss jemand, wo der Fehler liegt?
+zum einen musst Du schon genau angeben, welches neue bildquelle
»» Du auf welchem bild im dokument zuweisen moechtest:
»» * self.document.images["imagename"].src = "---.gif"; oder
»» * self.document.images[x].src = "---.gif" wobei x einer zahl
aus einer forlaufend nummerierten liste aller bilder in einem
geoeffneten html-dokument entspricht (?verstaendlich?);
+zum anderen, musst Du darauf achten, wie Du zeichenketten erzeugst-
»» diese duerfen nicht durch unsaubere quotes(",') 'gebrochen' werden:
»» wenn Du eine zeichenkette mit (") beginnst wird deren ende beim
»» naechsten auftretenden (") interpretiert - gilt auch fuer (') -
»» soll eine zeichenkette also komplexe ausdreucke mit mehr als einem
»» oeffnenden und schliessenden quote enthalten, musst Du Dir mit dem
»» oben angewandten trick behelfen - ausserdem gibt es fuer sonder-
»» zeichen, die nicht umschrieben werden koennen eine moeglichkeit,
»» in zeichenketten zu "erscheinen": alle statements nach einem back-
»» slash beeinflussen die interpretation eines ausdruckes nicht - also:
»» "bla..bla.."..oops ein quot" = 'bla.. bla.. "..oops ein quot'
»» und erscheint bei einer ausgabe so: bla.. bla.. "..oops ein quot
»» im grossen und ganzen waere es auch hilfreich, sich mal eingehender
»» mit der materie "JavaScript" zu beschaeftigen und mit referenzen
»» von einschlaegigen buechern zu arbeitenm, damit solche fragen nicht
»» allzuoft im forum auftauchen.
»» tschuess und by(t)e by(t)e - peter - pseliger@gmx.net
liebe Julia,
ich verstehe zwar nicht, warum Du Netscape
aussen vor laesst, wo man doch auf simple
und trotzdem effektive weise eine X-browser-
variante stricken koennte... naja...
Hallo Peter,
ich habe eine Weile im Forum herumgesucht und dabei öfters gelesen, daß diese Funktion nur für IE funktioniert. Daher (und weil ich in Javascript noch nicht sonderlich versiert bin) habe ich mich gleich auf IE beschränkt.
Gruß,
Julia
»» tschuess und by(t)e by(t)e - peter - pseliger@gmx.net