Probleme mit meiner Diashow

J

joedietz

Hallo @all;

ich habe mir eine Diashow zusammen gebastelt, die leider nur im Firefox komplett funktioniert. Der Code sieht wie folgt aus:

Code:
<html>
<head>
</head>
<script type="text/javascript">

	function start(){
		if (stat=="stop"&&i<(Anzahl-1)){
	      stat = "start";
	      ID = setTimeout("lade(i+1)", delay);
	   }
	}
	function lade(nummer){
	   	i = nummer
	   	var anzeigebild = myArray[i];
		bi
	   	bild.setAttribute("src", anzeigebild);
		BildID.firstChild.nodeValue="Bildnummer : "+ (i+1) + " von " + Anzahl;
	   	if (stat=="start"&&i<(Anzahl-1)){
	    	ID = setTimeout("lade(i+1)", delay);
	   	}else if (i == (Anzahl-1)){
	      	stat = "stop";
	      	ID=0;
	      	i=0;
	   	}
	   	
	}

	function next(){
		
		i++;
		if (i>=Anzahl){
			i = Anzahl-1;
		}
		var anzeigebild = myArray[i];
		bild.setAttribute("src", anzeigebild);
		BildID.firstChild.nodeValue="Bildnummer : "+ (i+1) + " von " + Anzahl;
	}
	
	function prev(){
		i--;
		if (i<0){
			i=0;
		}
		var anzeigebild = myArray[i];
		bild.setAttribute("src", anzeigebild);
		BildID.firstChild.nodeValue="Bildnummer : "+ (i+1) + " von " + Anzahl;
	}

	function stop(){
	   stat = "stop";
	   clearTimeout(ID);
	}
</script>
<body>
<form>
<table border="0" width="100%" height="100%">
    <tr>
        <td colspan=6 align="center" valign="middle"><img id=image src="test.jpg" border="0"></td>
    </tr>
    <tr height=20px>
        <td><p id=BildID>Bildnummer : </p></td>
        <td><p align=center><input type="button" name="zurück" value=Start onclick="start();"></p></td>
        <td><p align=center><input type="button" name="zurück" value=Stop onclick="stop();"></p></td>
        <td><p align=center><input type="button" name="zurück" value=zur&uuml;ck onclick="prev();"></p></td>
        <td><p align=center><input type="button" name="zurück" value=weiter onclick="next();"></p></td>
        <td><p align=center><input type="button" value=Schlie&szlig;en onclick="window.close();"></p></td>
    </tr>
</table>

</form>
</body>
</html> 
<script type="text/javascript">
	var stat = "stop";
	var ID = 0 //ID des letzten Timeouts
	var delay = 3000 //Verzögerung in Millisekunden
	
	var myBilder = window.opener.bildarray;
	var myArray = myBilder.split(", ");
	var bild=document.getElementById("image");
	var anzeigebild = myArray[0];
	bild.setAttribute("src", anzeigebild);
	Anzahl = myArray.length;
	var i=0;
	var BildId = document.getElementById("BildID");
		//document.write("Bildnummer : " +i);
	BildID.firstChild.nodeValue="Bildnummer : "+ (i+1) + " von " + Anzahl;
</script>

Das Problem hierbei ist, das das manuelle "Weiterschalten" und auch das "Rückwärteblätter" in allen Browsern funktioniert. Aber die Slideshow funktioniert leider nur im IE. Was habe ich falsch gemacht?

Bin für jede Hilfe Dankbar.

Viele Grüße

Joe
 
Zuletzt bearbeitet von einem Moderator:
Hi,

korrigier mal das Setzen des Timeouts:

Javascript:
ID = setTimeout("lade(" + (i+1) + ")", delay);

Ansonsten wäre ein Livebeispiel nicht schlecht.

Warum postest Du denn unter "sonstige Sprachen", wo wir doch ein Javascript-Forum haben? ;)

EDIT// Ah, schon verschoben... ^^

LG
 
Hi,

korrigier mal das Setzen des Timeouts:

Javascript:
ID = setTimeout("lade(" + (i+1) + ")", delay);

Ansonsten wäre ein Livebeispiel nicht schlecht.

Warum postest Du denn unter "sonstige Sprachen", wo wir doch ein Javascript-Forum haben? ;)

EDIT// Ah, schon verschoben... ^^

LG
Moin moin kuddeldaddeldu,

ein Livebeispiel kann ich noch nicht senden, da die Geschichte nur zu Hause auf meinem Webserver läuft und der nicht mit dem Inet verbunden ist (noch nicht :-)). Mit der Gruppe tut mir sorry, hatte bestimmt wieder einmal Melonen vor den Augen (danke fürs verschieben).

Ich bin nun Deine Empfehlung gefolgt und habe den Aufruf korrigiert, aber leider tut es nur im Safari, und Firefox. Der IE ist vermutlich wie ich ein wenig bekloppt und versteht nicht was ich will.

Gruß Joe
 
Hi,

dann müsstest Du mal Fehlermeldungen im IE aktivieren und schauen, was er denn zu meckern hat. Ein Debugging-Tool für IE ähnlich zu Firebug währe auch nützlich, z.B. Companion (habe ich aber noch nicht ausprobiert).

LG
 
Hi,

dann müsstest Du mal Fehlermeldungen im IE aktivieren und schauen, was er denn zu meckern hat. Ein Debugging-Tool für IE ähnlich zu Firebug währe auch nützlich, z.B. Companion (habe ich aber noch nicht ausprobiert).

LG

Durch ein wenig herum experimentieren habe ich ihn geknackt. Der IE scheint Probleme mit Funktionen namens Start() zu haben. Ich habe diese Funktion umbenannt und siehe da es geht.

Viele Grüße Joachim
 

Neue Beiträge

Zurück