Hilfe - Möchte Bild austauschen - warten - und wieder anzeigen
Stef
- javascript
Hallo zusammen.
Bin langsam am verzweifeln. Ich möchte ein Bild austauschen, etwas warten und dann wieder das Originalbild anzeigen. Aber irgendwie geht's nicht. Ein einmaliger Bildwechsel funktioniert. Ebenfalls wenn ich nach dem Funktionsaufruf fdrot() einen alert einbaue...
Danke im voraus! Stef
Habe folgenden reduzierten Code:
<html>
<head>
<script type="text/javascript">
function austauschen(){
fdrot();
unterbruch();
fhrot();
}
function unterbruch(){
aktzeit = new Date().getTime();
stopzeit = aktzeit + 2000;
while (aktzeit <= stopzeit){
aktzeit = new Date().getTime();
}
}
function fdrot(){
document.brot.src="rot.jpg";
}
function fhrot(){
document.brot.src="hrot.jpg";
}
</script>
<title></title>
</head>
<body>
</body>
<IMG NAME="brot" SRC="hrot.jpg">
<INPUT NAME="submit" TYPE=Button VALUE="Start" onClick="austauschen()">
</html>
Hi,
function austauschen(){
fdrot();
unterbruch();
fhrot();
}function unterbruch(){
aktzeit = new Date().getTime();
stopzeit = aktzeit + 2000;
while (aktzeit <= stopzeit){
aktzeit = new Date().getTime();
}
}
"Dein Name ist Hans. Lauf zwanzig Runden um den Exerzierplatz. Dein Name ist Fred. Wie lautet Dein Name?"
Was meinst Du wohl, wird der arme Kerl "Hans" antworten? Eher nicht. Anders als bei Soldaten ist es übrigens bei Browsern keine gute Idee, ihnen eine Beschäftigungstherapie aufzuerlegen und sie sekundenlang stur Berechnungen durchführen zu lassen. Der Browser ist in der Zeit nicht in der Lage, etwas anderes zu tun - er wird höchstens irgendwann den Nutzer fragen, ob er mit dem Stumpfsinn weitermachen oder doch lieber abbrechen soll.
Beschäftige Dich mit Timeouts,
<body>
</body>
<IMG NAME="brot" SRC="hrot.jpg">
validem Code und der Sinnhaftigkeit dessen, HTML möglichst weit XHTML-konform zu schreiben.
Cheatah
Hallo
Besten Dank für deine promte Antwort. setTimeout() habe ich auch schon in Betracht gezogen. Da ich aber sehr viele Abhängigkeiten haben werde, dachte ich einen Ablaufunterbruch von ca. 1 bis 2 Sekunden wäre das einfachste.
Alle die Abhängigkeiten mit setTimeout() zu berechnen und abzufangen ist seeeeeeeehr schwierig und birgt eine grosse Unsicherheit um sicherzustellen, dass alle Schritte abgearbeitet sind.
Weisst du oder sonst jemand eine Lösung um Javasript pausieren zu lassen?
Danke nochmals
(In der Zwischenzeit mach ich mir mal Gedanken über die Realisierbarkeit mit dem verzögerten Start von Funktionen!)
Weisst du oder sonst jemand eine Lösung um Javasript pausieren zu lassen?
Es gibt keine.
(In der Zwischenzeit mach ich mir mal Gedanken über die Realisierbarkeit mit dem verzögerten Start von Funktionen!)
Das wäre sinnvoller.
Struppi.
Hallo
Besten Dank für deine promte Antwort. setTimeout() habe ich auch schon in Betracht gezogen. Da ich aber sehr viele Abhängigkeiten haben werde, dachte ich einen Ablaufunterbruch von ca. 1 bis 2 Sekunden wäre das einfachste.
Alle die Abhängigkeiten mit setTimeout() zu berechnen und abzufangen ist seeeeeeeehr schwierig und birgt eine grosse Unsicherheit um sicherzustellen, dass alle Schritte abgearbeitet sind.
function austauschen(cont){ // cont ist die Funktion, die nachher weitermacht
fdrot();
setTimeout(function(){
fhrot();
cont(); // nach zwei Sekunden weitermachen
}, 2000);
}
(wenn du nicht auf die Abhängigkeiten verzichten kannst - viel Spaß beim debuggen)
Grüße, vrs
Besten Dank für deine promte Antwort. setTimeout() habe ich auch schon in Betracht gezogen. Da ich aber sehr viele Abhängigkeiten haben werde
Was meinst du mit Abhängigkeiten?
Was spricht gegen Timeouts, womit hast du Schwierigkeiten?
Alle die Abhängigkeiten mit setTimeout() zu berechnen und abzufangen ist seeeeeeeehr schwierig
Wieso, inwiefern ist das schwierig?
und birgt eine grosse Unsicherheit um sicherzustellen, dass alle Schritte abgearbeitet sind.
Welche Schritte? Ich dachte, du willst Bilder austauschen - wovon redest du nun?
Mathias