0 votes
in SoSci Survey (dt.) by s052438 (155 points)

Guten Tag,
leider komme ich gerade mit meinem Code einfach nicht weiter. Ich habe 30 Wortpaare und möchte gerne aus diese 30 Paaren immer ein Wort jedes Paares zufällig ziehen, für 5 Sekunden zusammen mit einer Frage anzeigen und dann automatisch weiter zum nächsten Wort + Frage.
Was bisher ohne Probleme funktioniert ist das ziehen der 30 Wörter + Frage anzeigen + rotieren der Seite. Was ich leider nicht umsetzen kann ist die zeitliche Begrenzung.

Bisher habe ich:

    // Definieren der Wortpaare für die Lernphase
$wordPairs = array(
    array("Basketball",	"Fußball"),
    array("Arzt", "Lehrer"),
    array("Biene", "Ameise"),
    array("Diamant", "Rubin"),
    array("Apfel", "Birne"),
    array("Hund", "Katze"),
    array("Tisch", "Stuhl"),
    array("Sonne", "Mond"),
    array("Fluss", "See"),
    array("Apotheke", "Bäckerei"),
    array("Gitarre", "Klavier"), 
    array("Hemd ", "Hose"), 
    array("Brille", "Kontaktlinse"), 
    array("Buch", " Zeitschrift"), 
    array("Tee", "Kaffee"), 
    array("Gold	", "Silber"),
    array("Adler", "Falke"),
    array(" Fernglas", "Mikroskop"),
    array(" Baum", "Strauch"),
    array("Schiff", "Flugzeug"),
    array("Messer", "Gabel"),
    array("Kugelschreiber", "Bleistift"),
    array("Haus", "Kirche"),
    array("Blume", "Baum"),
    array("Löwe", "Tiger"),
    array("Computer", "Telefon"),
    array("Auto", "Lastwagen"),
    array("Milch", "Saft"),
    array("Arzt", "Krankenpfleger"),
    array("Brokkoli", "Paprika"),

    );
// Zufällige Auswahl von 30 Wörtern ohne Zurücklegen für die Lernphase
$selectedWords = array();
foreach ($wordPairs as $pair) {
    $selectedWords[] = $pair[array_rand($pair)];
    shuffle($selectedWords);
}

// Speichern der ausgewählten Wörter für die Lernphase

registerVariable('selectedWords');
registerVariable('wordPairs');   

//debuggen
debug($wordPairs);
 debug($selectedWords);

nächste Seite:

$i = loopPage(30);

registerVariable($i);

html('<h2><center>Wie relevant ist dieses Wort?</center> </h2>');

html('<h3><center>'.$selectedWords[$i].'</center> </h3>');
 

// passende Frage-Kennung 
question(id('RA', $i + 1));

Das Timer Bsp arbeitet immer mit gotopage ...da ich aber nur eine Seite wiederhole stehe ich leider gerade sehr auf dem sprichwörtlichen Schlauch und wäre froh, wenn mir hier jemand runterhelfen/ weiterhelfen könnte.

Vielen Dank!

1 Answer

0 votes
by SoSci Survey (329k points)
selected by s052438
 
Best answer

Das Timer Bsp arbeitet immer mit gotopage

Der Timer, wie er in der Anleitung beschrieben wird, besteht aus zwei Komponenten. Die PHP-Komponente mit goToPage() kümmert sich darum, dass der Timer auch dann weiter läuft, wenn die Seite neu geladen wird. Die JavaScript-Komponenten ist der eigentliche Timer.

Wenn Sie mit 5 Sekunden-Timern arbeiten möchten, können sie den PHP-Teil weglassen. Schreiben Sie die Dauer einfach fix in den JavaScript-Teil und ziehen Sie diesen auf die Seiten. Im JavaScript-Teil müssten Sie die Zeile

window.setTimeout(weiter, %remain% * 1000);

dann wie folgt ändern:

window.setTimeout(weiter, 5000);

Im Prinzip kann jemand dann den Timer durch schnelles Neu-Laden der Seiten umgehen. Aber das sehen Sie bei den Verweildauern (TIME***).

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

...