crawler: Grafik durch Tabelle ersetzen

Hi,

ich würde gern mal wissen wie es möglich ist per JS eine Grafik durch eine Tabelle zu ersetzen. Ich habe bisher immereine Grafik gegen eine andere ausgetauscht. Geht das auch mit Tabellen?
Bei mir sieht das so aus (für Grafik gegen Grafik):
Die HTML-Datei:

<head>
    <title> Welcome to ...</title>

<script type="text/javascript" src="test.js">
    </script>
  </head>

<body>
    <a href="Frame_Unten.html" ONMOUSEOVER="Bildwechsel(0, Bild2)"                          ONMOUSEOUT="Bildwechsel(0, Bild1)" >
      <img src="Grafik1.gif" alt="Das erste Bild" border="0">
    </a>
  </body>

Die JavaScript-Datei "test.js":

Bild1 = new Image();
  Bild1.src = "Grafik1.gif"

Bild2 = new Image();
  Bild2.src = "Grafik2.gif"

function Bildwechsel(Bildnr,Bildobjekt)
  {
    window.document.images[Bildnr].src = Bildobjekt.src
  }

Kann mir einer helfen?

  1. Hoi

    ich würde gern mal wissen wie es möglich ist per JS eine Grafik durch eine Tabelle zu ersetzen. Ich habe bisher immereine Grafik gegen eine andere ausgetauscht. Geht das auch mit Tabellen?

    Eine Grafik direkt durch eine Tabelle ersetzen kannst Du nicht. Du kannst aber die Grafik in ein Div packen, und dessen Inhalt ersetzen. Dann kannst Du auch 'ne Tabelle reinschreiben.

    Das geht dann mit

    document.getElementById("divid").innerHTML = "<table>usw</table>";

    Ciao,

    Harry

    1. Moin!

      Das geht dann mit

      document.getElementById("divid").innerHTML = "<table>usw</table>";

      Noch einfacher (und kompatibler zu allen Browsern) dürfte es sein, _zwei_ Layer zu machen und übereinander zu positionieren. Der "Austausch" erfolgt dann durch einfaches ein- und ausblenden der einzelnen Layer.

      - Sven Rautenberg

      1. Holladiri

        document.getElementById("divid").innerHTML = "<table>usw</table>";

        Noch einfacher (und kompatibler zu allen Browsern) dürfte es sein, _zwei_ Layer zu machen und übereinander zu positionieren. Der "Austausch" erfolgt dann durch einfaches ein- und ausblenden der einzelnen Layer.

        Naja ... nur solange der Tabelleninhalt nicht variabel ist. Außerdem wüßte ich ehrlich gesagt nicht, was an Deinem Vorschlag "kompatibler" sein soll. Für Netscape 4 kann ich den Layer immer noch mit open() write() und close() neu schreiben ... Es ist halt evtl. ein bißchen mehr Aufwand ;-)

        Ciao,

        Harry

        1. Holladiri

          document.getElementById("divid").innerHTML = "<table>usw</table>";

          Noch einfacher (und kompatibler zu allen Browsern) dürfte es sein, _zwei_ Layer zu machen und übereinander zu positionieren. Der "Austausch" erfolgt dann durch einfaches ein- und ausblenden der einzelnen Layer.

          Naja ... nur solange der Tabelleninhalt nicht variabel ist. Außerdem wüßte ich ehrlich gesagt nicht, was an Deinem Vorschlag "kompatibler" sein soll. Für Netscape 4 kann ich den Layer immer noch mit open() write() und close() neu schreiben ... Es ist halt evtl. ein bißchen mehr Aufwand ;-)

          Ciao,

          Harry

          Hallo,
          Opera 5 kann z.B. nicht mittels
          document.getElementById("divid").innerHTML
          oder ähnlichem den Inhalt austauchen,
          aber einzelne div's sichtbar oder unsichtbar zu machen, ist durchaus
          möglich. Die Frage ist jetzt, ob man zur Ladezeit schon den Tabelleninhalt kennt, wenn nicht, dann wäre die Sichtbarmachmethode trotzdem nichts für den 'schnellsten Browser der Welt' (den ich am schnellsten wieder zumache, weil ich den nur zum Testen nehme), weil man ja vornweg noch die Tabelle ins Div reinschreiben müßte, was Opera nicht kann.
          Gruß Lutz.