Tobi: document.write + onMouseOver

Hallo!

vielleicht kann mir jemand weiterhelfen...
Ich möchte den MouseOver-Effekt im Javascript nutzen, nur funktioniert dies nicht.
Der Fehler liegt wahrscheinlich an den ';"-Zeichen... :-)

Gruß
Tobi

funktioniert:

<html>
<title>onMouseOver im JS</title>
<body>
Javascript:<p>
<script language="JavaScript">
<!--
 document.write('<a href="http://www.domain.de">domain.de</a>');

hier sollte eigentlich der MouseOver-Effekt hin (siehe unten)...

// -->
</script>
</body>
</html>

funktioniert leider nicht:

document.write('onMouseOver="window.status='Startseite'; return true;"');
 document.write('onMouseOut="window.status=' '; return true;"');

  1. Hi,

    Ich möchte den MouseOver-Effekt im Javascript nutzen, nur funktioniert dies nicht.

    "funktioniert nicht" funktioniert nicht. Fehlerbeschreibung, bitte.

    Der Fehler liegt wahrscheinlich an den ';"-Zeichen... :-)

    Nein; das Semikolon hat innerhalb von Strings keinerlei Bedeutung, im Gegensatz zum Stringbegrenzungszeichen, hier also dem Singlequote.

    document.write('onMouseOver="window.status='Startseite'; return true;"');

    Btw: Den User der entweder für ihn wichtigen oder ihm unbekannten Statuszeile zu berauben, ist entweder unfreundlich oder nutzfrei.

    Cheatah

    1. "funktioniert nicht" funktioniert nicht. Fehlerbeschreibung, bitte.

      Hi!

      Im IE5.5 wird das gesamte Javascript mit MouseOver/Out nicht angezeigt. Der Quelltext ist jedoch vorhanden.

      Fehlermeldung:
      Zeile: 8
      Zeichen: 47  d.h. document.write'onMouseOver="window.status='s <-"s"=Zeichen 47
      Fehler: ')' erwartet
      Code: 0

      Tobi

      Script:
      ---

      <html>
      <title>onMouseOver im JS</title>
      <body>
      Javascript:<p>
      <script language="JavaScript">
      <!--
       document.write('<a href="http://www.domain.de">domain.de</a>');
       document.write('onMouseOver="window.status='Startseite'; return true;"');
       document.write('onMouseOut="window.status=' '; return true;"');// -->
      </script>
      </body>
      </html>

      ---

      1. Moin!

        Zeile: 8
        Zeichen: 47  d.h. document.write'onMouseOver="window.status='s <-"s"=Zeichen 47
        Fehler: ')' erwartet

        Wie wär's wenn du das ' im String mit einem \ maskierst: document.write('onMouseOut="window.status=' '; return true;"')

        Gruß Herbalizer

        1. Hi!

          Funktioniert schon...
          (vgl. Lsg. "Utz")

          Danke.

  2. Hallo,

    Dein onmouseover steht frei im Raum, es muß aber in einem Tag stehen, in dem Fall im <a>-Tag.

    Viele Grüße,
    Jürgen

    1. Hallo,

      Dein onmouseover steht frei im Raum, es muß aber in einem Tag stehen, in dem Fall im <a>-Tag.

      Viele Grüße,
      Jürgen

      ---
      Hi!

      stimmt... :D
      stammt allerdings noch vom "document.write ohne MouseOver-Test"
      funktioniert trotzdem nicht :-(

      Tobi

  3. Hallo,

    Du hast Dich einfach bei dem string ein bisschen vertüdelt...damit das nicht passiert, schreib Dir immer einfach zuerst mal den HTML-Code hin, wie er im Endeffekt sein soll, also hier:

    <a href="http://www.domain.de" onMouseOver="window.status='Startseite'; return true;" onMouseOut="window.status=' '; return true;">domain.de</a>

    Zweiter Schritt: document.write drum rum setzen:

    document.write('<a href="http://www.domain.de" onMouseOver="window.status='Startseite'; return true;" onMouseOut="window.status=' '; return true;">domain.de</a>');

    Dritter Schritt: Überprüfen, welche Anführungszeichen Du genommen hast, um den String zu begrenzen - hier sind das die einfachen. Also müssen alle einfach Anführungszeichen innerhalb des Strings maskiert werden:

    document.write('<a href="http://www.domain.de" onMouseOver="window.status='Startseite'; return true;" onMouseOut="window.status=' '; return true;">domain.de</a>');

    Doppelte Anführungszeichen müssen in *diesem* Fall nicht maskiert werden, da ja der String innerhalbn einfacher steht - kann man aber auch andersrum machen.

    Fertig!

    Grüße,

    Utz

    1. Funktioniert!

      DANKE!