mehrere Funktionen parallel?
peterSchmidt
- javascript
0 Chrisi0 peter
0 Axel Richter
Hallo
Für die Einstiegsseite meiner Webseite will ich mehrere Bilder, die einen Bildwechsel durchführen (Diashows) haben.
Ich hatte mir ueberlegt das mit Javascript zu realisieren.
Nun ist es so, dass ich nicht weiterkomme, weil ich die Fehlmeldung nicht verstehe.
Also ich beschreibe mal was ich habe: Ich habe also meine Bilder
und rufe im onload mehrere Funktionen auf die so aufsehen:
function startCambio2(){
var z2=Math.random(); //Zufallszahl
z2=Math.ceil(z2*(pics.length));
//alert(z1);
//alert(pics[z1][0].src);
document.cambio2.src = pics[z2][0].src;
window.setTimeout ( "document.cambio7.src = pics[z2][0].src;" , ((z2 * (z2 * 1000)) / 3));
window.setTimeout ("startCambio2()", 2900); //sich selbst wieder aufrufen
}
Also dann habe ich halt noch die Funktionen startCambio3, startCambio4, startCambio5. Alle laufen nach demselben Schema ab (siehe startCambio2). Also ich habe es mit mehreren Funktionen gemacht weil ich halt will, dass sich die Bilder unabhängig voneinander (also auch gleichzeitig austausche)
Wenn ich mir die Webseite angucke kommt immer eine Fehlermeldung, dass Variable nicht existieren würde. Mal meckert er z2 (siehe oben)
existiert nicht mal ist z6 oder z2..
Eine Zeit lang laeuft die Seite ohne Probleme und dann kommt halt jene Fehlermeldung.
Ich habe auch untersucht ob es an einer bestimmten Stelle/Zeitpunkt
zu dem error kommt aber das scheint mir nicht so..
Sorry für die lange Beschreibung..
Ist es denn so, dass parallel laufende Funktionen prinzipiell unter Javascript nicht gut funktionieren?
Danke
Pete
Hi,
Also dann habe ich halt noch die Funktionen startCambio3, startCambio4, startCambio5.
Ich habe nicht ganz verstanden was du Versuchst, aber einen Hinweis kann ich dir geben:
Ich würde mir eine Funktion bauen die beliebig oft das erledigen kann was du benötigtst, oder du schreibst die Funktion in eine Klasse und holst eine Instanz. Aber das ist bei dir nicht notwendig denke ich.
Denke damit werden sich auch deine jetzigen Probleme erledigen ...
Viele Grüße
Chrisi
Hallo
der Grund, weswegen ich es nicht in eine Funktion gepackt habe ist
dass ich wollte dass die Bilder sich auch gleichzeitig wechseln können.
Ich habe auf dieser Seite halt so lauter kleine gif die sich hin und wieder ändern sollen.
Wenn ich das in nur eine Funktion packe, dann habe ich ja die Situation, dass sich ein gif nach dem anderen wechselt.
also
changeimage, timeout
nächsteimage, timeout
??
Viele Gruesse aus Koblenz
peter
Hallo,
Nun ist es so, dass ich nicht weiterkomme, weil ich die Fehlmeldung nicht verstehe.
Also ich beschreibe mal was ich habe: Ich habe also meine Bilder
und rufe im onload mehrere Funktionen auf die so aufsehen:function startCambio2(){
var z2=Math.random(); //Zufallszahl
^hiernach ist z2 eine Zahle zwischen 0 und 1. Nehmen wir mal an, es wäre beispielsweise 0.85.
z2=Math.ceil(z2*(pics.length));
^nehmen wir an im Array pics wären 3 Elemente pics[0], pics[1], pics[2], dann ist pics.length == 3.
^0.85 * 3 == 2.55
^nächsthöhere ganze Zahl == 3
^hiernach ist mit unseren Beispielwerten z2 == 3.
Fehler: pics[z2], also pics[3] existiert nicht.
Lösung: Suche statt ceil eine Funktion, welche die nächstniedrigere Ganzzahl liefert.
document.cambio2.src = pics[z2][0].src;
^hier könnte eine weitere Fehlerquelle liegen, wenn Dein Array pics nicht mehrdimensional ist. Hierzu müsstest Du aber mal zeigen, wie Du das Array definierst.
viele Grüße
Axel