Kevin: Sehr seltsames Problem mit Bilder austausch

Hallo,

ich hänge gerade an einem sehr seltsamen Problem fest.
Auf einer HTML Seite sind unten verschiedene Bilder die man
anklicken kann.
Das eine, "soundb", soll den sound einer flashdatei stoppen und wieder starten. Wenn man das Bild anklickt soll ein rotes Kreuz (kreuz.gif) erscheinen.
Bei erneutem Klick verschwindet es wieder (laut.gif, ein transparentes gif).
Das alles ist für den Internet Explorer optimiert.
Auf dem einen Rechner funktioniert es ohne Probleme, auf einem anderen nur bedingt.

Das hier ist Imagebutton:
<div id="Layer5">
<a href="javascript:;" onclick="tauschen();"><img src="pics/laut.gif" alt="Volume" name="soundb" width="40" height="45" border="0" id="soundb" /></a>
</div>

und das der javascript dazu:

<SCRIPT LANGUAGE=JavaScript>
<!--

var pic1 = new Image();
var pic2 = new Image();

pic1.src="pics/laut.gif";
pic2.src="pics/kreuz.gif";

function tauschen() {
  if(soundb.src == pic1.src) {
   window.document.test.SetVariable("/cont:soundb", "0");
   soundb.src = pic2.src;
  }
  else {
   window.document.test.SetVariable("/cont:soundb", "1");
   soundb.src = pic1.src;
  }
  ...

Lokal funktioniert "onclick" ohne Probleme. Online auf einem Rechner aber nicht. Ersetze ich das onlick mit "onmouseup" funktioniert es, jedoch nur wenn ich mit der RECHTEN Maustaste draufklicke. Bei einem Linksklick stoppt zwar der sound, aber das bild wird nicht angezeigt.

Wenn der Befehl onclick ist und ich mit der rechten Maustaste auf die Fläche klicke wo das Bild sein sollte, dann erscheint im Kontextmenü der Eintrag "Bild anzeigen". Klicke ich nun darauf wird das Bild angezeigt, so wie es sein sollte.

Der Befehl tauschen(); funktioniert, denn sonst würde er ja nicht immer den sound stoppen. Das einzigste Problem ist, dass das Bild nicht angezeigt wird.

Hoffe mir kann jemand helfen.

Grüße,
Kevin

  1. Hello out there!

    <a href="javascript:;" onclick="tauschen();">

    ^^^^^^^^^^^^^^^^^^
    Das in Unsinn. Du möchtest keinen Link setzen, sondern einen Button vorsehen.

    <img src="pics/laut.gif" alt="Volume" name="soundb" width="40" height="45" border="0" id="soundb" /></a>

    Du verwendest XHTML?

    <SCRIPT LANGUAGE=JavaScript>

    Oder doch nicht? Oder doch? Die http://de.selfhtml.org/html/xhtml/unterschiede.htm@ttielUnterschiede scheinen die nicht ganz klar zu sein.

    Und wo immer du das herhast, es ist falsch. SO geht's richtig.

    <!--

    Überflüssig, unter Umständen auch gefährlich.

    function tauschen() {
      if(soundb.src == pic1.src) {

    soundb wird wo definiert? Was hat die Fehler-Konsole gezeigt?

    See ya up the road,
    Gunnar

    --
    „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
    1. Hallo und erstmal danke für deine Hilfe.

      Ich habe nun die javascript definition geändert in:
      <script type="text/javascript"> und die "<!--" rausgelöscht.

      Anschließend das href="javascript:;" gelöscht.
      Jetzt habe ich jedoch das Problem, dass kein Handcursor mehr angezeigt wird wenn ich mit der Maus über das Bild fahre.
      Aber so funktioniert es auf allen Rechnern.

      das soundb wird hier definiert:

      <a onclick="tauschen();"><img src="pics/laut.gif" alt="Volume" name="soundb" width="40" height="45" border="0" id="soundb" />

      Grüße,
      Kevin

      1. Hello out there!

        Ich habe nun die javascript definition geändert in:
        <script type="text/javascript"> und die "<!--" rausgelöscht.

        Die "-->" hoffentlich auch? ;-)

        Anschließend das href="javascript:;" gelöscht.
        Jetzt habe ich jedoch das Problem, dass kein Handcursor mehr angezeigt wird wenn ich mit der Maus über das Bild fahre.

        Du brauchst das 'a'-Element gar nicht. Den 'onlick'-Handler kannst du auch beim 'img'-Element anwenden.

        Den Wechsel des Cursors machst du mit der gleichnamigen CSS-Eigenschaft.

        das soundb wird hier definiert:

        <a onclick="tauschen();"><img src="pics/laut.gif" alt="Volume" name="soundb" width="40" height="45" border="0" id="soundb" />

        Nein, wird es nicht. Du brauchst eine Referenz auf dieses Element: getElement(s)By...

        See ya up the road,
        Gunnar

        --
        „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)