Rainer: mein Bild erscheint einfach nicht.........

Hallihallo,

hab da ein blödes Problemchen.Leider komme ich selber nicht weiter.Vielleicht hat ja irgendwer sowas schon mal gehabt.

Folgendes:Ich habe in einer Tabelle mehrere gleiche Bilder untereinander.Es ist ein Bild ,dass signalisieren soll, das mal einen Artikel in einen Warenkorb legen kann.Wenn der Anwender nun einen Artikel anklickt,soll sich das Bild ändern.Ich habe dazu folgenden Code geschrieben:

<SCRIPT LANGUAGE="JavaScript">
function wechsle(typ)
{
 gekauft = new Image();
 gekauft.src = "../../../imagesOnline/einkaufswagen.gif";
 typ.src = gekauft.src;
}
</SCRIPT>

<img src='../../../basket.gif' onclick='wechsle(this)' alt='in den Warenkorb legen' border='0'>

Dieser Quellcode funktioniert aber leider nur zu 80%. Bei den restlichen 20% verschwindet einfach das Bild!Und ich weiß nicht wieso.Er findet zwar das Bild, zeigt es aber nicht an.Es ist einfach nicht da.Es kommt auch nicht ,ein das defaultBild, mit dem roten Kreuz (Bild wird nicht gefunden). Es erscheint einfach nicht.Ein ansprechen der Bilder mit einen namen ist leider nicht möglich,weil ich eine Tabelle dabeihabe, die über 200 solche Zeilen, und damit auch 200 Bilder hat.
Kann es sein, dass es so eine Funktion gibt,die das ganze nochmal aktualisiert,ohne neuen Seitenaufbau.Bei einen neuen Seitenaufbau,wären ja wieder die alten Bilder da.

Würde mich echt freuen wenn jemand was dazu sagen würde.

gruß
Rainer

  1. Hallo Rainer,

    Dein Problem kann sein, dass du bei jedem Klick ein neues Image-Objekt anlegst. Für ein ordentliches Preload des Bildes musst du das aber nur einmal machen. Entweder über globale Variablen wie hier:

    <SCRIPT LANGUAGE="JavaScript">

    var gekauft = new Image();
     gekauft.src = "../../../imagesOnline/einkaufswagen.gif";

    function wechsle(typ)
    {
    typ.src = gekauft.src;
    }
    </SCRIPT>

    <img src='../../../basket.gif' onclick='wechsle(this)' alt='in den Warenkorb legen' border='0'>

    oder über eine Preload-Funktion, in der du die (globale) Variable setzt:

    <SCRIPT LANGUAGE="JavaScript">
    var gekauft;

    function preload() {
     var gekauft = new Image();
     gekauft.src = "../../../imagesOnline/einkaufswagen.gif";
    }

    ...
    </script>

    <body onload="preload()">
    ..

    gruß.

    1. Hallo Rainer,

      Dein Problem kann sein, dass du bei jedem Klick ein neues Image-Objekt anlegst. Für ein ordentliches Preload des Bildes musst du das aber nur einmal machen. Entweder über globale Variablen wie hier:

      <SCRIPT LANGUAGE="JavaScript">

      var gekauft = new Image();
      gekauft.src = "../../../imagesOnline/einkaufswagen.gif";

      function wechsle(typ)
      {
      typ.src = gekauft.src;
      }
      </SCRIPT>

      <img src='../../../basket.gif' onclick='wechsle(this)' alt='in den Warenkorb legen' border='0'>

      oder über eine Preload-Funktion, in der du die (globale) Variable setzt:

      <SCRIPT LANGUAGE="JavaScript">
      var gekauft;

      function preload() {
      var gekauft = new Image();
      gekauft.src = "../../../imagesOnline/einkaufswagen.gif";
      }

      ...
      </script>

      <body onload="preload()">
      ..

      gruß.

      Hallo ,

      hab beide Möglichkeiten ausprobiert......leider wieder das gleiche Ergebnis!Des ist fei echt ein Scheiß.....man muss doch die Bilder irgendwie mit Javascript wechslen können......wenn ich auf das leere Feld gehe, und klicke mit der rechten Maustaste drauf -->Bild anzeigen....dann kommt ja auch das Bild.....aber von alleine kommt es nicht.....kann mir niemand helfen?*verzweifeltbin*

      1. Hallo Rainer,

        Dein Problem kann sein, dass du bei jedem Klick ein neues Image-Objekt anlegst. Für ein ordentliches Preload des Bildes musst du das aber nur einmal machen. Entweder über globale Variablen wie hier:

        <SCRIPT LANGUAGE="JavaScript">

        var gekauft = new Image();
        gekauft.src = "../../../imagesOnline/einkaufswagen.gif";

        function wechsle(typ)
        {
        typ.src = gekauft.src;

        wenn ich hier eine alertbox auf machen lassen und klick diese dann wieder weg.Erscheint das Bild!Leider kann ichdie alertbox aber nicht lassen.Kann es sein, dass das ganze irgendwie zu schnell für den Browser geht?????

        }
        </SCRIPT>

        <img src='../../../basket.gif' onclick='wechsle(this)' alt='in den Warenkorb legen' border='0'>

        oder über eine Preload-Funktion, in der du die (globale) Variable setzt:

        <SCRIPT LANGUAGE="JavaScript">
        var gekauft;

        function preload() {
        var gekauft = new Image();
        gekauft.src = "../../../imagesOnline/einkaufswagen.gif";
        }

        ...
        </script>

        <body onload="preload()">
        ..

        gruß.

        Hallo ,

        hab beide Möglichkeiten ausprobiert......leider wieder das gleiche Ergebnis!Des ist fei echt ein Scheiß.....man muss doch die Bilder irgendwie mit Javascript wechslen können......wenn ich auf das leere Feld gehe, und klicke mit der rechten Maustaste drauf -->Bild anzeigen....dann kommt ja auch das Bild.....aber von alleine kommt es nicht.....kann mir niemand helfen?*verzweifeltbin*

  2. Hallo,

    hab da ein blödes Problemchen.Leider komme ich selber nicht weiter.Vielleicht hat ja irgendwer sowas schon mal gehabt.

    Dieser Quellcode funktioniert aber leider nur zu 80%. Bei den restlichen 20% verschwindet einfach das Bild!

    Heisst das, dass es bei 10 Aufrufen der Seite achtmal gut geht und zweimal nicht, oder dass bei einem Aufruf 80% der Bilder gewechselt werden und 20% nicht?

    Mit welchem Browser hast du das Problem?
    (Bei mir /opera/ läuft das (modifizierte) Script einwandfrei)

    1. Hallo,

      hab da ein blödes Problemchen.Leider komme ich selber nicht weiter.Vielleicht hat ja irgendwer sowas schon mal gehabt.

      Dieser Quellcode funktioniert aber leider nur zu 80%. Bei den restlichen 20% verschwindet einfach das Bild!

      Heisst das, dass es bei 10 Aufrufen der Seite achtmal gut geht und zweimal nicht, oder dass bei einem Aufruf 80% der Bilder gewechselt werden und 20% nicht?

      Mit welchem Browser hast du das Problem?
      (Bei mir /opera/ läuft das (modifizierte) Script einwandfrei)

      Mittlerweilen funzt es gar nicht mehr!Das Bild wird nur mehr durch ein "leeres" Bild ausgetauscht.Ich weiß echt nicht mehr was ich noch tun soll.Ich hab keine Ahnung, was ich noch ausprobieren sollte.

      1. hallo,

        Mittlerweilen funzt es gar nicht mehr!Das Bild wird nur mehr durch ein "leeres" Bild ausgetauscht.Ich weiß echt nicht mehr was ich noch tun soll.Ich hab keine Ahnung, was ich noch ausprobieren sollte.

        Vielleicht gestellte Fragen beantworten?

        den Code posten, der nicht mehr funktioniert?

        gruß

    2. Hallo,

      hab da ein blödes Problemchen.Leider komme ich selber nicht weiter.Vielleicht hat ja irgendwer sowas schon mal gehabt.

      Dieser Quellcode funktioniert aber leider nur zu 80%. Bei den restlichen 20% verschwindet einfach das Bild!

      Heisst das, dass es bei 10 Aufrufen der Seite achtmal gut geht und zweimal nicht, oder dass bei einem Aufruf 80% der Bilder gewechselt werden und 20% nicht?

      Mit welchem Browser hast du das Problem?
      (Bei mir /opera/ läuft das (modifizierte) Script einwandfrei)

      Momentan bin ich soweit, dass das ausgewechselte Bild gar nicht erscheint.Als Browser nehmen wir nur den IE ab Ver.4 ich selbst benutze den IE 6.
      Andere haben den 5.5 und Vers. 5 . aber da funzt es auchnicht.Komischerweise hab ich momentan noch was rausgefunden-->Ich hab die Seite mal loKal bei mir gespeichert und da ausprobiert.Und komischerweise funzt es da..also lokal!Wenn ich dann aber die Seite ins Internet stelle, funzt es nicht mehr......ist scho sehr seltsam.Der Code ist 1:1 das gleiche.
      Vielleicht fällt dir ja noch was ein.....

      Gruß
      Rainer

      1. Hallo,

        Vielleicht fällt dir ja noch was ein.....

        Ohne Code kann man da nur orakeln. Gibt es vielleicht ein Problem mit Gross/Kleinschreibung der Datei-/Verzeichnisnamen ? Server sind da sehr penibel, was das angeht.