Hier der Testlink:
https://www.soscisurvey.de/stavpsychtraining/?act=3HLljogEtwTjIgtYxTzE4HGI
Ich habe nun um meinen bestehenden Code die for-Schleife gelegt. Nach wie vor erscheint auf der Testseite ein "Verbleibende Zeit: ", aber keine Zeitangabe.
Wo liegt der Fehler, und warum muss ich am html code <h1>Verbleibende Zeit: <span id="remain"></span></h1> nichts ändern? Und welchen Teil des Codes müsste ich überhaupt erneut einfügen, um eine Zeitanzeige weiter unten auf der Seite zu erhalten?
aktueller Html Code:
<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();
}
// 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 displayIDs = ["timeDisplay1", "timeDisplay2", "timeDisplay3", "timeDisplay4", "timeDisplay5"];
for (var d=0; d<displayIDs.length; d++) {
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);
// Initialisierung der Weiterleitung
SoSciTools.attachEvent(window, "load", function(evt) {
// Zusätzlicher Timer für die Aktualisierung des Countdowns
window.setInterval(updateCountdown, 1000);
updateCountdown();
// Timer für automatische Weiterleitung starten
window.setTimeout(weiter, %remain% * 1000);
});
// -->
</script>