Ich möchte ein Bild nur für 30 sec anzeigen lassen, dann 5 sec Pause haben bevor das nächste automatisch geladen wird. (5 Bilder in Folge).
Momentan sieht die Seite so aus:
1) php Code für Timer
if (!isset($time0)) { $time0 = time(); registerVariable($time0); }
// Prüfung, ob die Zeit schon abgelaufen ist // (z.B. weil der Teilnehmer die Seite neu geladen hat) $timer = 30; // Der Teilnehmer hat 30 Sekunden Zeit zur Bearbeitung if (time() >= $time0 + $timer) { goToPage('next'); }
$remain = $time0 + $timer - time(); replace('%remain%', $remain);
2) Textbaustein, abgespeichert in HTM-Format (hier der Einfachheit halber im Original).
<script type="text/javascript"> <!-- // Funktion zur Weiterleitung function weiter() { // Eine Meldung anzeigen (optional) alert("Die Zeit ist vorbei."); // Den Teilnehmer zur nächsten Seite weiterleiten SoSciTools.submitPage(); } // Initialisierung der Weiterleitung SoSciTools.attachEvent(window, "load", function(evt) { // Weiter-Knopf ausblenden (optional) SoSciTools.submitButtonsHide(); // Timer für automatische Weiterleitung starten window.setTimeout(weiter, %remain% * 1000); }); // --> </script> }
3) Das Bild wird nach auf voriger Seite festgelegtem Filter ausgewählt:
$zahl = value('EM01');
> if ($zahl == 1) { html('<p><img src="Eichhoernchen_3.jpg"></p>'); }
> elseif ($zahl == 2) { html('<p><img
> src="Igel_verletzt_Bild.jpg"></p>'); } elseif ($zahl == 3) {
> html('<p><img src="Eichhoernchen_3.jpg"></p>'); } elseif ($zahl == 4)
> { html('<p><img src="Igel_verletzt_Bild.jpg"></p>'); }
Ergebnis:
Mir wird der Textbaustein-Text in Originalform (nicht die HTML-Form) angezeigt und das Bild, aber kein Timer ist aktiv und der "Weiter"-Button ist ebenfalls sicht- und verwendbar.
Meine Fragen:
1) Wie kriege ich den Timer ans Laufen?
2) Kann ich die 5-sek- Pause irgendwie umsetzen ohne eine neue Seite mit 5-sec-Timer zu erstellen, z.B. das Popup "Die Zeit ist vorbei" so einstellen, dass es 5sec eingeblendet wird und der Proband dann automatisch weitergeleitet wird zum nächsten Bild (welches denselben Timer hat, aber wie auch in der Anleitung beschrieben dann anders heißt, z.B. timer01).