Julia: onmouseover im 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

  1. 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

    1. 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

      1. 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

        1. <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!!

  2. 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

    1. 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

    2. 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