Carnygel: Einbinden von js in html

Habe ein Problem, das ich aber in diesem noch nachlesen konnte.

habe folgende js-Datei:

<!--
IMG01 = "pointer.gif";
IMG02 = "blank.gif";
function imgover(imgname)
{
imgname.src = IMG01;
}
function imgout(imgname){
imgname.src = IMG02;
}
// -->
<img name="IMG01" src="blank.gif" width=20 height=15 border=0>
<a href="ihr.link" onMouseOver="imgover(IMG01)" onMouseOut="imgout(IMG01)">
Link 1</a>
<br>
<img name="IMG02" src="blank.gif" width=20 height=15 border=0>
<a href="ihr.link" onMouseOver="imgover(IMG02)" onMouseOut="imgout(IMG02)">
Link 2</a>

Die binde ich in die html-Datei ein:

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<script type="text/javascript" src="dateiname.js"></script>
</head>

<body bgcolor="#f0f0f0">

<script type="text/javascript">
<!--
function imgover(imgname);
//-->
</script>

</body>
</html>

Es funktioniert jedoch nicht. Kann mir jemand sagen, wo ich den Fehler habe?
Danke!

  1. Hallo!
    Da ist praktisch alles falsch ;)

    Habe ein Problem, das ich aber in diesem noch nachlesen konnte.

    ????? Komischer Satz. Egal.

    habe folgende js-Datei:

    <!--
    IMG01 = "pointer.gif";
    IMG02 = "blank.gif";
    function imgover(imgname)
    {
    imgname.src = IMG01;
    }
    function imgout(imgname){
    imgname.src = IMG02;
    }
    // -->
    <img name="IMG01" src="blank.gif" width=20 height=15 border=0>
    <a href="ihr.link" onMouseOver="imgover(IMG01)" onMouseOut="imgout(IMG01)">
    Link 1</a>
    <br>
    <img name="IMG02" src="blank.gif" width=20 height=15 border=0>
    <a href="ihr.link" onMouseOver="imgover(IMG02)" onMouseOut="imgout(IMG02)">
    Link 2</a>

    In eine JavaScript-Datei darf _NUR_ JS-Code stehen. Du hast allerdings noch HTML-Tags drin.
    Die "<!--" und "//-->" gehören da auch nicht rein.

    Lies dir das Ganze mal unter [linkk:http://selfhtml.teamone.de/javascript/intro.htm#javascriptbereiche] durch.

    Gruß

    Mastershrimp

    1. In eine JavaScript-Datei darf _NUR_ JS-Code stehen. Du hast allerdings noch HTML-Tags drin.
      Die "<!--" und "//-->" gehören da auch nicht rein.

      Lies dir das Ganze mal unter [linkk:http://selfhtml.teamone.de/javascript/intro.htm#javascriptbereiche] durch.

      Gruß

      Mastershrimp

      Wollte eigentlich nur mit einer Script-Datei (navi.js eine Navigationsleiste in eine ganz normale html-Datei einbinden. Ich möchte erreichen, dass ich später nur diese navi.js ändern brauche und nicht alle einzelnen html-Seiten.

      Unter dem genannte Link komme ich jedoch nicht weiter.

      das o. g. Script kommt aus einer aktuellen Scriptsammlung.

      Wie könnte es dann richtig aussehen?

      1. Wollte eigentlich nur mit einer Script-Datei (navi.js eine Navigationsleiste in eine ganz normale html-Datei einbinden. Ich möchte erreichen, dass ich später nur diese navi.js ändern brauche und nicht alle einzelnen html-Seiten.

        Unter dem genannte Link komme ich jedoch nicht weiter.

        das o. g. Script kommt aus einer aktuellen Scriptsammlung.

        Wie könnte es dann richtig aussehen?

        Also du willst scheinbar ein Menü habem, dessen Buttons sich bei Kontakt mit der Maus verändern (Mouseover-Effekt).

        Ich habe schnell mal gegoogelt und folgende interessante Links gefunden:
        http://selfhtml.teamone.de/javascript/beispiele/buttons.htm
        http://www.juergens-workshops.de/tutorial/htmlworkshop/index.php?show=mouseover1
        http://www.javarea.de/index.php3?opencat=Javascript&subcat=Mouse/Key/Link&id=321

        Jetzt gehst du diese Links alle mal durch und schaust, ob du was verstanden/nicht verstanden hast. Der erste Link dürfte wahrscheinlich schon genügen, da SelfHTML auf diese "Problematik" ziemlich detailliert eingeht.

        Fragen kannst du gerne hier weiter reinstellen.

        Oder habe ich den Zweck deines Scripts fehl-interpretiert?

        Gruß

        Mastershrimp

        1. Wollte eigentlich nur mit einer Script-Datei (navi.js eine Navigationsleiste in eine ganz normale html-Datei einbinden. Ich möchte erreichen, dass ich später nur diese navi.js ändern brauche und nicht alle einzelnen html-Seiten.
          Also du willst scheinbar ein Menü habem, dessen Buttons sich bei Kontakt mit der Maus verändern (Mouseover-Effekt).

          Ich habe schnell mal gegoogelt und folgende interessante Links gefunden:
          http://selfhtml.teamone.de/javascript/beispiele/buttons.htm
          http://www.juergens-workshops.de/tutorial/htmlworkshop/index.php?show=mouseover1
          http://www.javarea.de/index.php3?opencat=Javascript&subcat=Mouse/Key/Link&id=321

          Mastershrimp

          Tut mir leid, es geht mir tatsächlich nicht um den Mouseover-Effekt.
          Ich möchte nur eine Navigation mit mehreren Links in eine ganz normale Html-Seite einbauen. Da ich jedoch nicht immer alle Html-Seiten neu gestalten muss, sofern sich in der Navigation etwas ändert, möchte ich die Navigation gern via Javascript einbauen. Ich weiß, dass dies u. a. auch über Frames möglich wäre. Diese Möglichkeit möchte ich aber außen vor lassen. Habe ich mich jetzt deutlicher ausgedrückt?

          1. Ahh. Ok. Dann ist dein Ansatz allerdings sehr merkwürdig...

            Zumal diese JavaScript-Lösung nicht unbedingt optimal ist, da du dir damit ein Problem schaffst, wo keins sein muss. Bedenke, dass einige kein JavaScript unterstützen/aktiviert haben.

            Ich würde mir das also mal überlegen. Zumal man ja an einem Menü nicht unbedingt täglich etwas ändert, oder?

            Aber wenn du willst, bitte.
            Ich würde das Ganze dann so machen:
            Du erstellst eine JavaScript-Datei namens navi.js und packst in diese folgende Sachen:
            function navigation()
            {
            document.write('<html>\n');
            document.write('<head>\n');
            document.write('<title>');
            document.write('Titel');
            document.write('</title>');
            document.write('</head>');
            document.write('...');
            ...
            }
            Verstehst du, was ich meine? Du lässt also die Funktion navigation() den HTML-Code deiner Navigation ins Dokument schreiben. Beachte hierbei, dass du jedes ' im Quelltext durch ' ersetzen musst, da ansonsten ein Fehler auftritt.
            Mehr zu document.write() findest du hier: http://selfhtml.teamone.de/javascript/objekte/document.htm#write

            In deine HTML-Datei notierst du dann zum einen die Verlinkung der js-Datei (wie du das schon richtig gemacht hattest) und zum anderen im <body>-Tag das Attribut (bzw. den Event-Handler) onLoad="navigation()".

            Dann müsste beim Laden der Seite die Funktion navigation() aufgerufen werden, die dann in das Dokument den Quelltext deiner Navigation schreibt.

            Wie gesagt, es ist etwas aufwendig, aber wenn du das so willst...

            Gruß

            Mastershrimp

            1. Wie gesagt, es ist etwas aufwendig, aber wenn du das so willst...

              Gruß

              Mastershrimp

              Hallo Mastershrimp,

              danke für deine Bemühung. Schönes Wochenende!

  2. hi,

    <body bgcolor="#f0f0f0">

    <script type="text/javascript">
    <!--
    function imgover(imgname);

    du übergibst der funktion hier ein variable imagename - wo ist diese denn definiert bzw. mit einem wert belegt?

    und selbst wenn du 'imagename' übergeben würdest - es gibt zu diesem zeitpunkt in deinem dokument noch kein bildobjekt mit diesem namen. also worauf soll die funktion denn da zugreifen?

    gruss,
    wahsaga

    1. hi,

      du übergibst der funktion hier ein variable imagename - wo ist diese denn definiert bzw. mit einem wert belegt?

      und selbst wenn du 'imagename' übergeben würdest - es gibt zu diesem zeitpunkt in deinem dokument noch kein bildobjekt mit diesem namen. also worauf soll die funktion denn da zugreifen?

      gruss,
      wahsaga

      Der Name der Bildobjekte ist in der navi.js angegeben.
      Wie könnte die Programmierung dann lauten?

      Gruß
      Carnygel

      1. hi,

        Wie könnte die Programmierung dann lauten?

        das dürfte davon abhängen, was du eigentlich vorhast.

        dein bisher geposteter beispielcode passt in meinen augen überhaupt nicht mit deinem in [pref:t=73128&m=421040] beschriebenen vorhaben zusammen.

        gruss,
        wahsaga

        1. hi,

          Wie könnte die Programmierung dann lauten?

          dein bisher geposteter beispielcode passt in meinen augen überhaupt nicht mit deinem in [pref:t=73128&m=421040] beschriebenen vorhaben zusammen.

          gruss,
          wahsaga

          Ganz einfach: Ich möchte eine Datei mit einer Nagivationsleiste in eine Html-Datei einbinden. Da ich aber icht mit Frames arbeiten möchte, würde ich gern die Navigation in einer html- oder js.Datei erstellen und dann in die html-Hauptseite einfügen. Bei Änderungen an der Navigation will ich jedoch nicht ständig alle html-Dateien ändern müssen. Gibt es einen anderen Weg?

          1. hi,

            Ich möchte eine Datei mit einer Nagivationsleiste in eine Html-Datei einbinden. Da ich aber icht mit Frames arbeiten möchte, würde ich gern die Navigation in einer html- oder js.Datei erstellen und dann in die html-Hauptseite einfügen. Bei Änderungen an der Navigation will ich jedoch nicht ständig alle html-Dateien ändern müssen. Gibt es einen anderen Weg?

            ja, includes.
            entweder serverseitig (PHP/SSI/etc.), oder einen editor mit entsprechender funktionalität nutzen.

            gruss,
            wahsaga