hubert k.: getElementById oder GetElementByName oder was ganz anderes?

hallo ans forum!

ich bastele gerade an einer seite auf der ein bild mittels javascript dynamisch geändert werden soll.

bisher ändere ich es mit getElementById also so:

document.getElementById("Bild").src = "einbild.jpg";

aber das geht in Netscape 4.7 nicht. leider :(

ich habe auch schon ausprobiert:

document.getElementByName("Bild").src = "einbild.jpg";

ohne erfolg...

auf ein:

document.images[0].src = "einbild.jpg"

ging nicht (obwohl es das einzige bild auf der seite ist)... :(

klappt das mit Netscape 4.x mal wieder nicht oder mach ich da nochwas falsch?

bitte um hilfe!

danke

hubert

btw: kann es sein, dass mozilla 0.9.9 das "alt" - attribut nicht richtig interpretiert? ich bekomme nie einen alt-text angezeigt wenn ich mit der maus über einem bild bin...

  1. Moin hubert k. (Neue Deutsche Welle???)

    Netscape 4.7 kennt 'getElementById' und 'getElementByName' nicht
    versuchs doch mal mit:

    Bild=new Image();
    Bild.src="bla.jpg";
    window.document.images[0].src=Bild.src;

    also bei mir funktioniert es so.

    UND: der Mozilla ist hier der einzige Browser, der das mit dem alt="" richtig darstellt. Der Browser darf hier eigentlich nur etwas anzeigen, wenn graphische Elemente ausgeschaltet sind. Für die gewünschte Anzeige ist das title-Attribut zuständig

    Ciao Goofy

  2. Hoi,

    bisher ändere ich es mit getElementById also so:
    document.getElementById("Bild").src = "einbild.jpg";
    aber das geht in Netscape 4.7 nicht. leider :(

    Natuerlich nicht, der NN kann kein DOM.

    auf ein:
    document.images[0].src = "einbild.jpg"
    ging nicht (obwohl es das einzige bild auf der seite ist)... :(

    Wo kann man sich das man anschauen?

    klappt das mit Netscape 4.x mal wieder nicht oder mach ich da
    nochwas falsch?

    Das ist so schwer zu sagen.

    btw: kann es sein, dass mozilla 0.9.9 das "alt" - attribut nicht
    richtig interpretiert? ich bekomme nie einen alt-text angezeigt
    wenn ich mit der maus über einem bild bin...

    Wie kommst du darauf, dass das ALT-Attribut dafuer da ist, einen
    Tool-Tip zu ersetzen? Das ist falsch. Das ALT-Attribut ist dafuer
    da, einen *alternativen* Text anzuzeigen, falls die Ressource aus
    irgendwelchen Gruenden nicht verfuegbar ist -- sei es, weil der User
    nicht will, dass sie angezeigt wird, sei es, weil sie nicht vorhanden
    ist, oder sonstwas. Ich glaube, du moechtest eher das TITLE-Attribut
    benutzen (http://www.w3.org/TR/html401/struct/objects.html#h-13.2).

    Gruesse mnbeeu,
     c.j.k

    1. hoi auch nochmal

      Wo kann man sich das man anschauen?

      hier ist der quelltext
      (bitte nicht über das verwurschtelte js meckern ;-) )

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

      <html>

      <head>
       <title>SlideShow</title>
       <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">

      <script language="JavaScript" type="text/javascript">
      <!--
      var SlideParameter = location.search;

      if(SlideParameter)
      {
        var PictureArray = SlideParameter.substring(1,SlideParameter.length).split(";");
       var PictureOffset = PictureArray[(PictureArray.length)-2];
       var PicturePath = PictureArray[(PictureArray.length)-3];
      }

      function FirstPicture()
      {
      PictureOffset --;
      ShowPicture(PictureOffset);
      }

      function ShowPicture(Pic)
      {
       PictureOffset = Pic;

      newPicture = new Image();
         newPicture.src = "../../" + PicturePath + PictureArray[Pic];
       document.getElementById("Picture").alt = "Bild wird zur Anzeige vorbereitet... Bitte einen Moment Geduld...";
      // document.getElementById("Picture").src = "../../" + PicturePath + PictureArray[Pic];
       document.images[0].src = newPicture.src;
       document.getElementById("Picture").alt = "Fertig!";
      }

      function DecOffset()
      {
       if((PictureOffset + 1) >= (PictureArray.length)-3) {}
       else { PictureOffset ++ ; }
      // alert('offset:' + PictureOffset + 'arraygrenze:' + ((PictureArray.length)-3));
       ShowPicture(PictureOffset);
      }

      function IncOffset()
      {
       if((PictureOffset-1) <= 0) { PictureOffset = 0; }
       else { PictureOffset -= 1; }
      //alert('offset:' + PictureOffset + 'arraygrenze:' + ((PictureArray.length)-3));
       ShowPicture(PictureOffset);
      }

      // -->
      </script>

      </head>
      <body marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" onload="FirstPicture()">

      <img id="Picture" alt="Bild wird zur Anzeige vorbereitet... Bitte einen Moment Geduld..." width="100%" height="95%" src=""><br>

      <table align="center" width="80%">
       <tr>
        <td align="center">
         <a href="javascript:IncOffset()"><< ein Bild zurück</a>
        </td>
        <td align="center">
         <a href="javascript:ShowPicture(0)">zum Anfang springen</a>
        </td>
        <td align="center">
         <a href="javascript:DecOffset()">ein Bild nach vorne >></a>
        </td>
       </tr>
      </table>

      </body>

      </html>

      1. ich hab da gleich nochmal ne frage...

        w3c mag es nicht dass ich marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" benutze... geht das auch anders?

        danke!

        hubert

        1. hi

          w3c mag es nicht dass ich marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" benutze... geht das auch anders?

          style="margin:0px;padding:0px;" (mag NN4 aber wieder mal nicht)

          Grüße aus Lüneburg

          Kai

        2. Hallo,

          ich hab da gleich nochmal ne frage...

          w3c mag es nicht dass ich marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" benutze... geht das auch anders?

          <body style="position: absolute; top: 0; left: 0; margin: 0; padding: 0">

          Damit wird allerdings der body in Netscape 4.x zum Layer-Objekt, was man ggf. beim Arbeiten mit Unterobjekten beachten muss.

          MfG, Thomas