0 votes
in SoSci Survey (dt.) by s140476 (150 points)
edited by s140476

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).

by SoSci Survey (304k points)
Tipp: PHP- und JavaScript-Code kann man mit dem Knopf {} als solchen formatieren.

1 Answer

+1 vote
by SoSci Survey (304k points)
selected by s140476
 
Best answer

Mir wird der Textbaustein-Text in Originalform (nicht die HTML-Form) angezeigt

Bitte legen Sie im Textbaustein die Darstellungsvariante "HTML-Code" fest.

Kopieren Sie vorher den Inhalt und fügen Sie ihn anschließend wie ein. Bei der Änderung des Darstellungsmodus wird der Inhalt sonst verändert (Stichwort HTML-Enititäten).

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

Starten Sie zusammen mit der Anzeige der Meldung mittels window.setTimeout() einen weiteren Timer, der beim Ablauf dann SoSciTools.submitPage() aufruft.

by s140476 (150 points)
Vielen Dank,

ich wusste nicht dass ich **vor** dem Einfügen des javascript-Textes schon die Darstellungsvariante auf HTML-Code umstellen muss.

Ich würde Ihnen raten, evtl in der Erklärung zum Textbaustein genau das zu erwähnen, weil dort noch nicht einmal erwähnt ist, dass man die Darstellungsvariante überhaupt ändern muss.

Vielen Dank!
by SoSci Survey (304k points)
Machen wir :)

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...