Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
de:create:questions:assignment [25.02.2019 09:38] adminde:create:questions:assignment [16.05.2020 17:55] admin
Zeile 111: Zeile 111:
     * ''evt.detail.item'' -- Kennung (ID) des Stimulus     * ''evt.detail.item'' -- Kennung (ID) des Stimulus
     * ''evt.detail.option'' -- Die ausgewählte Kategorie (beginnend mit 1)     * ''evt.detail.option'' -- Die ausgewählte Kategorie (beginnend mit 1)
 +
 +Mit der Funktion ''setPrimeTimes()'' kann die Darbietungsdauer für Primes (sofern diese für Stimuli/Items definiert wurden) individuell festgelegt werden.
 +
  
 ==== Beispiel: Audio abspielen ==== ==== Beispiel: Audio abspielen ====
Zeile 168: Zeile 171:
 </script> </script>
 </code> </code>
 +
 +
 +==== Zeiten für Primes variieren ====
 +
 +Das folgende JavaScript verändert die Darbietungsdauer für die Primes, welche in den Items 1, 2 und 3 definiert wurden. Die Zahl hinter der Item-Nummer gibt dabei die Anzeigedauer in Millisekunden (ms) an.
 +
 +<code html>
 +<script type="text/javascript">
 +window.addEventListener("load", function() {
 +    SoSciTools.questionnaire.AB01.setPrimeTimes({
 +        1: 2000,
 +        2: 500,
 +        3: 1000
 +    });
 +});
 +</code>
 +</script>
 +
 +Falls die Anzeigezeiten für die Primes dynamisch variiiert werden sollen, kann die Liste der Prime-Anzeigedauern auch im PHP-Code erstellt und anschließend mittels Platzhalter in den JavaScript-Code übernommen werden. Der JavaScript-Code würde dabei als Text (Darstellung: "HTML-Code") mit Platzhalter (''%primeTimes%'') im Fragenkatalog abgelegt.
 +
 +<code html>
 +<script type="text/javascript">
 +window.addEventListener("load", function() {
 +    SoSciTools.questionnaire.%question%.setPrimeTimes(%randomTimes%);
 +});
 +</script>
 +</code>
 +
 +Der PHP-Code könnte dann wie folgt aussehen. Er würde die zufällig gewählten Zeiten in den internen Variablen der Frage "AB03" speichern.
 +
 +<code php>
 +$times = [];
 +for ($i=1; $i<=20; $i++) {
 +  $randomTime = random(100, 1000);
 +  put(id('AB03', $i), $randomTime);
 +  $times[$i] = $randomTime;
 +}
 +
 +// Textbaustein AB02 einbinden und dabei
 +// die Platzhalter für Frage-Kennung und die Zeiten einsetzen
 +show('AB02', [
 +    '%question%' => 'AB01',
 +    '%randomTimes%' => json_encode($times)
 +]);
 +</code>
 +
  
  
de/create/questions/assignment.txt · Zuletzt geändert: 27.07.2022 14:35 von admin
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki