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

Hallo, ich habe eine Frage zum Countdown.

Ich habe auf einer Seite einen Timer von 60 Sekunden hinterlegt. Sobald die 60 Sekunden abgelaufen sind, springt man automatisch auf die nächste Seite.

Grundlegend funktioniert der Timer auch einwandfrei. Aber ich wollte noch eine Countdown-Anzeige hinterlegen, damit die Teilnehmer wissen wie viel Zeit sie noch haben.

Leider steht im Testlauf nur "Verbleibende Zeit: " und sonst nichts. Es wird also keine Zeit runtergezählt.

Anbei mein Java-Script:

<script type="text/javascript">
<!--
 
// Funktion zur Weiterleitung
function weiter() {
  // Den Teilnehmer zur nächsten Seite weiterleiten
  SoSciTools.submitPage();
}
 
// Countdown anzeigen
var date0 = new Date();
var timeout = date0.getTime() + %remain% * 1000;
function updateCountdown() {
  // Zeit berechnen
  var date = new Date();
  var time = Math.ceil((timeout - date.getTime() - 50) / 1000);  // Verbleibende Zeit in Sekunden
  // Zeit anzeigen
  var out = document.getElementById("remain");
  if (!out) {
    return;
  }
  while (out.lastChild) {
    out.removeChild(out.lastChild);
  }
  var minutes = Math.floor(time / 60);
  var seconds = String(time - 60 * minutes);
  if (seconds.length < 2) seconds = "0" + seconds;
  var display = String(minutes) + ":" + seconds;
  var displayNode = document.createTextNode(display);
  out.appendChild(displayNode);
}

// Weiter-Knopf ausblenden (optional)
SoSciTools.submitButtonsHide();
 
// Initialisierung der Weiterleitung
SoSciTools.attachEvent(window, "load", function(evt) {
  // Timer für automatische Weiterleitung starten
  window.setTimeout(weiter, %remain% * 1000);
});
 
// -->
</script>

Und dann hab ich noch den PHP-Code darunter gefügt für die Anzeige des Countdowns:

Verbleibende Zeit:

Und zum Schluss kommt dann die eigentliche Aufgabe als Textbaustein.

Vielen Dank im Voraus für eure Hilfe!
Liebe Grüße

by SoSci Survey (328k points)
Bitte posten Sie doch einen Pretest-Link direkt (!) zur betroffenen Seite, dann können wir uns das im Kontext ansehen.
by s229461 (150 points)
edited by s229461
Hallo anbei der Pretest-Link (das ist die S. 6 - ich weiß leider nicht, wie ich die betroffene Seite verlinke):

https://www.soscisurvey.de/Bachelorarbeit_RB/?act=fP0Qm4w6sd3WjXvkPD2EU4mC
by SoSci Survey (328k points)
Sie können beim Erstellen des Pretest-Links rechts oben die Seite eintragen, wo er starten soll.
by s229461 (150 points)
Vielen Dank für die Antwort. Anbei der entsprechende Link: https://www.soscisurvey.de/Bachelorarbeit_RB/?act=1oBZh2USxusJt2u3h1bRcHpS

1 Answer

0 votes
by SoSci Survey (328k points)
selected by s229461
 
Best answer

Danke. Ich denke, es fehlt einfach der Teil im Code, welcher die Funktion updateCountdown() aufruft, in der Anleitung wäre das der Teil

// Initialisierung
var timerInterval = window.setInterval(updateCountdown, 250);
updateCountdown();
by s229461 (150 points)
Vielen Dank für die Hilfe! Nun klappt es :)

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

...