Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:create:javascript:latencytimer [15.04.2022 19:42] – [Sonstige Ereignisse aufzeichnen] adminde:create:javascript:latencytimer [04.04.2023 12:34] (aktuell) – [Sonstige Ereignisse aufzeichnen] service
Zeile 28: Zeile 28:
   * //storage//\\ Eine interne Variable, spezifiziert durch ihre Kennung (z.B. ''"IV01_01"''), durch das HTML-Element oder durch das zur internen Variable gehörige ''SoSciTools.QuestionItem''.   * //storage//\\ Eine interne Variable, spezifiziert durch ihre Kennung (z.B. ''"IV01_01"''), durch das HTML-Element oder durch das zur internen Variable gehörige ''SoSciTools.QuestionItem''.
   * //storeFirst//\\ Legt fest, ob die Reaktionszeit auch dann aufgezeichet werden soll, wenn es sich um den ersten Klick auf der Seite handelt. Standardmäig wird für den ersten Klick auf der Seite anstatt einer Reaktionszeit der Code ''-7'' gespeichert.   * //storeFirst//\\ Legt fest, ob die Reaktionszeit auch dann aufgezeichet werden soll, wenn es sich um den ersten Klick auf der Seite handelt. Standardmäig wird für den ersten Klick auf der Seite anstatt einer Reaktionszeit der Code ''-7'' gespeichert.
-  * //multiStore//\\ Mit dieser Variable wird eine weitere interne Variable festgelegt, welche die Reaktionszeit für weitere Klicks auf das Element zählt. Wird sie verwendet, dann werden die einzelnen Reaktionszeiten addiert und in dieser Variable gespeichert. Standardmäßig wird die Reaktionszeit nur für den ersten Klick auf ein Element gezählt. Weitere Klicks ändern den Wert entweder nicht (wenn die Antwort unverändert bleibt) oder führen zur Speicherung des Codes ''-6'', wenn auf ein anderes Auswahlelement innerhalb des Items oder der Frage geklickt wird (z.B. eine andere Auswahloption einer AUswahlfrage).+  * //multiStore//\\ Mit dieser Variable wird eine weitere interne Variable festgelegt, welche die Reaktionszeit für weitere Klicks auf das Element zählt. Wird sie verwendet, dann werden die einzelnen Reaktionszeiten addiert und in dieser Variable gespeichert. Standardmäßig wird die Reaktionszeit nur für den ersten Klick auf ein Element gezählt. Weitere Klicks ändern den Wert entweder nicht (wenn die Antwort unverändert bleibt) oder führen zur Speicherung des Codes ''-6'', wenn auf ein anderes Auswahlelement innerhalb des Items oder der Frage geklickt wird (z.B. eine andere Auswahloption einer Auswahlfrage).
  
 ''void **latencyTimer.registerElement**(Element //element//, mixed //storage//, boolean //storeFirst//)'' ''void **latencyTimer.registerElement**(Element //element//, mixed //storage//, boolean //storeFirst//)''
Zeile 96: Zeile 96:
 window.addEventListener("load", function() { window.addEventListener("load", function() {
     var timer = new LatencyTimer();     var timer = new LatencyTimer();
-    for (var key in s2.SK01.items) { +    for (var i=1; i<=s2.SK01.length; i++) { 
-        var item = s2.SK01.items[key]; +        var item = s2.SK01.item(i)
-        var itemID = item.id +        var internal = s2.IV01.item(i); 
-        var internal = s2.IV01.item(item.id); +        timer.registerItem(item, internal, true);
-        timer.registerItem(item, internal);+
     }     }
-}+});
 </code> </code>
 +
  
  
Zeile 169: Zeile 169:
 window.addEventListener("load", function() { window.addEventListener("load", function() {
     var timer = new LatencyTimer();     var timer = new LatencyTimer();
-    for (var key in s2.OT01.items) { +    for (var i=1; i<=s2.OT01.length; i++) { 
-        var item = s2.OT01.items[key]; +        var item = s2.OT01.item(i)
-        var itemID = item.id+        var internalA = s2.IV01.item(i); 
-        var internalA = s2.IV01.item(itemID); +        var internalB = s2.IV02.item(i);
-        var internalB = s2.IV02.item(itemID);+
         item.input.addEventListener(         item.input.addEventListener(
             "keydown",             "keydown",
Zeile 180: Zeile 179:
     }     }
 }); });
 +</code>
  
 +Das Abschicken der aktuellen Seite im Fragebogen kann zum Beispiel über das ''submit''-Event des Formulars erfasst werden. In Verbindung mit ''latencyTimer.eventHandler()'' erfasst folgendes Script die Zeit vom (vollständigen) Laden der Seite bis zum Abschicken, und speichert diese Zeit in die interne Variable "IV01_01" (diese muss natürlich auf die Fragebogen-Seite gezogen werden).
 +
 +<code javascript>
 +window.addEventListener("load", function() {
 +    var timer = new LatencyTimer();
 +    var qnrForm = document.getElementById("questionnaireForm");
 +    qnrForm.addEventListener("submit", timer.eventHandler("IV01_01", true));
 +});
 </code> </code>
de/create/javascript/latencytimer.txt · Zuletzt geändert: 04.04.2023 12:34 von service
 
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