OnLoad & getElementById



  • Hallo,

    Ich möchte bei meiner Seite gerne per JavaScript ein Bild ändern.
    So habe ich das bisher gemacht:

    <html>
    <head>
    <title>Test</title>
    
    <script type="text/javascript">
    <!--
     function ChangePicture() 
     {
     	document.getElementById("pic").src = "changed.gif";
     }
    //-->
    </script>
    </head>
    <body onLoad="ChangePicture()">
    
    <img id="pic" src="initial.gif" > 
    
    </body>
    </html>
    

    Damit wird Leuten, die JavaScript nicht abgeschaltet haben, ein anderes Bild gezeigt. Allerdings bin ich nicht ganz zufrieden damit, da das Wechseln des Bildes erst mit dem onLoad-Event durchgeführt wird. (d.h. man sieht noch das alte Bild, dann wechselt es aufs neue)
    Wie kann man das besser machen, sodass das Standard-Bild für JavaScript-User überhaupt nicht geladen wird?



  • da wo das bild hinsoll soetwas wie

    <script language="javascript">
       document.write('<img src="changed.gif">');
    </script>
    <noscript>
       <img src="noJS.gif">
    </noscript>
    

    Keine Ahnung ob das geht aber sieht ganz lustig aus 😉



  • Du könntest den Script-Berecih evtl. direkt unter das Bild setzen, aber ich befürchte, dass das nichts bringt 😞

    <img id="pic" src="initial.gif" width="100" height="100" alt="" />
    <script type="text/javascript">
    <!--
     document.getElementById("pic").src = "changed.gif";
    //-->
    </script>
    

    Edit: die Lösung meines Vorgängers scheint wohl eher richtig zu sein 🙂



  • @Vernochan: Vielen Dank, so funktioniert es! 😉


Anmelden zum Antworten