Jens: automatischer Bildwechsel -» Javascript-Fehler

Hallo,

ich hoffe mir kann jemand helfen:

ich beabsichtige einen automatischen Bildwechsel durchzuführen, dabei wird die Anzahl der Bilder in einer Variablen übergeben (funktioniert)

ich erhalte jedoch folgenden Fehler:

Zeile 16 Zeichen 1
document.images.0 ist Null oder kein Objekt;

die Bilder liegen im Verzeichnis

Mein Quelltext:

<script language="JavaScript">
<!--
bilderanzahl=<? anzahl ?>;
Wartezeit="5000";
BildNr=1;
Bilder=new Array();
for (i=0;i<bilderanzahl;i++){
Bilder[i]=new Image();
Bilder[i].src=i+".jpg";
}
function Bildwechsel(){
if (BildNr==(bilderanzahl-1)) BildNr=1;
else BildNr++;

document.images[0].src=Bilder[BildNr].src;
window.setTimeout("Bildwechsel()",Wartezeit);
};
//-->
</script>
<body onLoad="Bildwechsel()">
</body>

  1. Hi,

    document.images.0 ist Null oder kein Objekt;

    überprüfe, ob document.images[0] auch wirklich existiert, und nicht etwa document.layers[0].document.images[0] oder so.

    die Bilder liegen im Verzeichnis

    Wieso Verzeichnis? Das hat damit nichts zu tun, das liegt in einer völlig anderen Welt.

    Cheatah

    1. Hi,

      document.images.0 ist Null oder kein Objekt;

      überprüfe, ob document.images[0] auch wirklich existiert, und nicht etwa document.layers[0].document.images[0] oder so.

      Wo sehe ich ob document.images[0] existiert?

      Danke
      Jens

      1. Hi,

        document.images.0 ist Null oder kein Objekt;

        überprüfe, ob document.images[0] auch wirklich existiert, und nicht etwa document.layers[0].document.images[0] oder so.

        Wo sehe ich ob document.images[0] existiert?

        Danke
        Jens

        Hi Jens!

        Ich würde an deiner Stelle mehr mit dem Sriptdebugger arbeiten!
        http://msdn.microsoft.com/scripting/

        Dort kannst du dann den Wert abfragen der zu document.images[0] gehört. In der Regel solltest du dann den Dateinamen erhalten (falls er existiert).

        MFG
        Spike

      2. Hi,

        überprüfe, ob document.images[0] auch wirklich existiert, und nicht etwa document.layers[0].document.images[0] oder so.

        Wo sehe ich ob document.images[0] existiert?

        daran, daß bei Zugriffen auf Eigenschaften/Methoden des Objektes ein Fehler kommt, und an der Ausgabe von alert(document.images[0]). Vorausgesetzt, Du kannst nicht in Deinem Quellcode nachgucken, ob die <img>-Tags nicht in <layer> oder positionierten <div> stecken.

        Cheatah

  2. Hi
    wenn du ein Bild wechseln willst, musst du auch schon eines im body haben!
    Also z.B.
    <body>
    <img src="bildchen.jpg" width="100" height="100">
    </body>
    Ausserdem wuerde ich
    Wartezeit=5000;
    schreiben, also keine Anfuehrungszeichen, weil sonst der String "5000" uebergeben  wird und nicht die Zahl 5000. Normalerweise macht Javascript, glaube ich, da keine Probleme, aber es ist auf jeden Fall eine sauberere Programmierung.
    Tschau Holger

    1. Hi
      wenn du ein Bild wechseln willst, musst du auch schon eines im body haben!
      Also z.B.
      <body>
      <img src="bildchen.jpg" width="100" height="100">
      </body>

      Danke erstmal;

      Wenn ich jedoch das Bild in den body nehme zeigt er dieses zwar an und es erscheint auch kein Java Fehler mehr, jedoch wechselt er das Bild nicht.

      Zur anderen Antwort:

      Wie sehe ich ob document.images.0 existiert?

      danke
      jens

      1. Hi
        Ich kann leider nicht verstehen, warum das bei dir nicht klappt, bzw. wo der Fehler liegen koennte, denn bei mir (IE4, Win98) funktioniert das ganz problemlos. Koennte es sein, dass deine Bilder doch nicht im selben Verzeichnis sind, wie deine Seite mit dem Javascript?
        Ein ganz einfacher Tip: wenn du in Javascript wissen willst ob irgend etwas existiert (z.B. eine Variable test), und welchen Wert dieses etwas hat, dann mach einfach eine alert("Der Wert von 'test'="+test);
        Tschau Holger