jspsych 6.3.0 → 7.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -37
- package/css/jspsych.css +39 -39
- package/dist/JsPsych.d.ts +112 -0
- package/dist/TimelineNode.d.ts +34 -0
- package/dist/index.browser.js +3164 -0
- package/dist/index.browser.js.map +1 -0
- package/dist/index.browser.min.js +2 -0
- package/dist/index.browser.min.js.map +1 -0
- package/dist/index.cjs +3158 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +3152 -0
- package/dist/index.js.map +1 -0
- package/dist/migration.d.ts +3 -0
- package/dist/modules/data/DataCollection.d.ts +45 -0
- package/dist/modules/data/DataColumn.d.ts +15 -0
- package/dist/modules/data/index.d.ts +25 -0
- package/dist/modules/data/utils.d.ts +3 -0
- package/dist/modules/extensions.d.ts +22 -0
- package/dist/modules/plugin-api/HardwareAPI.d.ts +15 -0
- package/dist/modules/plugin-api/KeyboardListenerAPI.d.ts +34 -0
- package/dist/modules/plugin-api/MediaAPI.d.ts +27 -0
- package/dist/modules/plugin-api/SimulationAPI.d.ts +41 -0
- package/dist/modules/plugin-api/TimeoutAPI.d.ts +5 -0
- package/dist/modules/plugin-api/index.d.ts +8 -0
- package/dist/modules/plugins.d.ts +129 -0
- package/dist/modules/randomization.d.ts +35 -0
- package/dist/modules/turk.d.ts +40 -0
- package/dist/modules/utils.d.ts +7 -0
- package/package.json +32 -15
- package/src/JsPsych.ts +884 -0
- package/src/TimelineNode.ts +536 -0
- package/src/index.ts +71 -0
- package/src/migration.ts +37 -0
- package/src/modules/data/DataCollection.ts +198 -0
- package/src/modules/data/DataColumn.ts +86 -0
- package/src/modules/data/index.ts +174 -0
- package/src/modules/data/utils.ts +75 -0
- package/src/modules/extensions.ts +23 -0
- package/src/modules/plugin-api/HardwareAPI.ts +32 -0
- package/src/modules/plugin-api/KeyboardListenerAPI.ts +165 -0
- package/src/modules/plugin-api/MediaAPI.ts +337 -0
- package/src/modules/plugin-api/SimulationAPI.ts +181 -0
- package/src/modules/plugin-api/TimeoutAPI.ts +16 -0
- package/src/modules/plugin-api/index.ts +28 -0
- package/src/modules/plugins.ts +158 -0
- package/src/modules/randomization.ts +327 -0
- package/src/modules/turk.ts +99 -0
- package/src/modules/utils.ts +30 -0
- package/.github/workflows/jest.yml +0 -20
- package/code-of-conduct.md +0 -56
- package/contributors.md +0 -61
- package/docs/CNAME +0 -1
- package/docs/about/about.md +0 -18
- package/docs/about/contributing.md +0 -43
- package/docs/about/license.md +0 -25
- package/docs/about/support.md +0 -7
- package/docs/core_library/jspsych-core.md +0 -734
- package/docs/core_library/jspsych-data.md +0 -589
- package/docs/core_library/jspsych-pluginAPI.md +0 -610
- package/docs/core_library/jspsych-randomization.md +0 -397
- package/docs/core_library/jspsych-turk.md +0 -102
- package/docs/extensions/extensions.md +0 -83
- package/docs/extensions/jspsych-ext-webgazer.md +0 -106
- package/docs/img/blue.png +0 -0
- package/docs/img/devtools-change-css.png +0 -0
- package/docs/img/devtools-css-errors.png +0 -0
- package/docs/img/devtools-inspect-element.png +0 -0
- package/docs/img/folder-setup.png +0 -0
- package/docs/img/folder-with-html.png +0 -0
- package/docs/img/githubreleases.jpg +0 -0
- package/docs/img/jspsych-favicon.png +0 -0
- package/docs/img/jspsych-logo-no-text-mono.svg +0 -493
- package/docs/img/jspsych-logo.jpg +0 -0
- package/docs/img/orange.png +0 -0
- package/docs/img/palmer_stim.png +0 -0
- package/docs/img/progress_bar.png +0 -0
- package/docs/img/prolific-study-completion.png +0 -0
- package/docs/img/prolific-study-link.png +0 -0
- package/docs/img/visual_search_example.jpg +0 -0
- package/docs/index.md +0 -9
- package/docs/overview/browser-device-support.md +0 -35
- package/docs/overview/callbacks.md +0 -184
- package/docs/overview/data.md +0 -281
- package/docs/overview/dynamic-parameters.md +0 -147
- package/docs/overview/exclude-browser.md +0 -32
- package/docs/overview/experiment-options.md +0 -149
- package/docs/overview/eye-tracking.md +0 -237
- package/docs/overview/fullscreen.md +0 -36
- package/docs/overview/media-preloading.md +0 -369
- package/docs/overview/mturk.md +0 -77
- package/docs/overview/plugins.md +0 -320
- package/docs/overview/progress-bar.md +0 -110
- package/docs/overview/prolific.md +0 -78
- package/docs/overview/record-browser-interactions.md +0 -23
- package/docs/overview/running-experiments.md +0 -95
- package/docs/overview/style.md +0 -293
- package/docs/overview/timeline.md +0 -457
- package/docs/plugins/jspsych-animation.md +0 -40
- package/docs/plugins/jspsych-audio-button-response.md +0 -60
- package/docs/plugins/jspsych-audio-keyboard-response.md +0 -58
- package/docs/plugins/jspsych-audio-slider-response.md +0 -53
- package/docs/plugins/jspsych-call-function.md +0 -81
- package/docs/plugins/jspsych-canvas-button-response.md +0 -66
- package/docs/plugins/jspsych-canvas-keyboard-response.md +0 -68
- package/docs/plugins/jspsych-canvas-slider-response.md +0 -89
- package/docs/plugins/jspsych-categorize-animation.md +0 -60
- package/docs/plugins/jspsych-categorize-html.md +0 -53
- package/docs/plugins/jspsych-categorize-image.md +0 -53
- package/docs/plugins/jspsych-cloze.md +0 -45
- package/docs/plugins/jspsych-external-html.md +0 -70
- package/docs/plugins/jspsych-free-sort.md +0 -56
- package/docs/plugins/jspsych-fullscreen.md +0 -57
- package/docs/plugins/jspsych-html-button-response.md +0 -42
- package/docs/plugins/jspsych-html-keyboard-response.md +0 -51
- package/docs/plugins/jspsych-html-slider-response.md +0 -45
- package/docs/plugins/jspsych-iat-html.md +0 -64
- package/docs/plugins/jspsych-iat-image.md +0 -64
- package/docs/plugins/jspsych-image-button-response.md +0 -48
- package/docs/plugins/jspsych-image-keyboard-response.md +0 -58
- package/docs/plugins/jspsych-image-slider-response.md +0 -54
- package/docs/plugins/jspsych-instructions.md +0 -58
- package/docs/plugins/jspsych-maxdiff.md +0 -41
- package/docs/plugins/jspsych-preload.md +0 -128
- package/docs/plugins/jspsych-rdk.md +0 -119
- package/docs/plugins/jspsych-reconstruction.md +0 -48
- package/docs/plugins/jspsych-resize.md +0 -39
- package/docs/plugins/jspsych-same-different-html.md +0 -53
- package/docs/plugins/jspsych-same-different-image.md +0 -66
- package/docs/plugins/jspsych-serial-reaction-time-mouse.md +0 -52
- package/docs/plugins/jspsych-serial-reaction-time.md +0 -57
- package/docs/plugins/jspsych-survey-html-form.md +0 -50
- package/docs/plugins/jspsych-survey-likert.md +0 -70
- package/docs/plugins/jspsych-survey-multi-choice.md +0 -48
- package/docs/plugins/jspsych-survey-multi-select.md +0 -53
- package/docs/plugins/jspsych-survey-text.md +0 -63
- package/docs/plugins/jspsych-video-button-response.md +0 -54
- package/docs/plugins/jspsych-video-keyboard-response.md +0 -50
- package/docs/plugins/jspsych-video-slider-response.md +0 -60
- package/docs/plugins/jspsych-virtual-chinrest.md +0 -105
- package/docs/plugins/jspsych-visual-search-circle.md +0 -52
- package/docs/plugins/jspsych-vsl-animate-occlusion.md +0 -55
- package/docs/plugins/jspsych-vsl-grid-scene.md +0 -62
- package/docs/plugins/jspsych-webgazer-calibrate.md +0 -60
- package/docs/plugins/jspsych-webgazer-init-camera.md +0 -31
- package/docs/plugins/jspsych-webgazer-validate.md +0 -43
- package/docs/plugins/list-of-plugins.md +0 -54
- package/docs/tutorials/hello-world.md +0 -162
- package/docs/tutorials/rt-task.md +0 -1334
- package/docs/tutorials/video-tutorials.md +0 -11
- package/examples/add-to-end-of-timeline.html +0 -38
- package/examples/case-sensitive-responses.html +0 -45
- package/examples/conditional-and-loop-functions.html +0 -64
- package/examples/css/jquery-ui.css +0 -1225
- package/examples/css-classes-parameter.html +0 -145
- package/examples/data-add-properties.html +0 -44
- package/examples/data-as-function.html +0 -39
- package/examples/data-from-timeline.html +0 -52
- package/examples/data-from-url.html +0 -21
- package/examples/demo-flanker.html +0 -117
- package/examples/demo-simple-rt-task.html +0 -120
- package/examples/demos/demo_1.html +0 -35
- package/examples/demos/demo_2.html +0 -50
- package/examples/demos/demo_3.html +0 -63
- package/examples/display-element-to-embed-experiment.html +0 -79
- package/examples/end-active-node.html +0 -52
- package/examples/end-experiment.html +0 -45
- package/examples/exclusions.html +0 -32
- package/examples/external_html/simple_consent.html +0 -4
- package/examples/img/1.gif +0 -0
- package/examples/img/10.gif +0 -0
- package/examples/img/11.gif +0 -0
- package/examples/img/12.gif +0 -0
- package/examples/img/2.gif +0 -0
- package/examples/img/3.gif +0 -0
- package/examples/img/4.gif +0 -0
- package/examples/img/5.gif +0 -0
- package/examples/img/6.gif +0 -0
- package/examples/img/7.gif +0 -0
- package/examples/img/8.gif +0 -0
- package/examples/img/9.gif +0 -0
- package/examples/img/age/of1.jpg +0 -0
- package/examples/img/age/of2.jpg +0 -0
- package/examples/img/age/of3.jpg +0 -0
- package/examples/img/age/om1.jpg +0 -0
- package/examples/img/age/om2.jpg +0 -0
- package/examples/img/age/om3.jpg +0 -0
- package/examples/img/age/yf1.jpg +0 -0
- package/examples/img/age/yf4.jpg +0 -0
- package/examples/img/age/yf5.jpg +0 -0
- package/examples/img/age/ym2.jpg +0 -0
- package/examples/img/age/ym3.jpg +0 -0
- package/examples/img/age/ym5.jpg +0 -0
- package/examples/img/backwardN.gif +0 -0
- package/examples/img/blue.png +0 -0
- package/examples/img/card.png +0 -0
- package/examples/img/con1.png +0 -0
- package/examples/img/con2.png +0 -0
- package/examples/img/fixation.gif +0 -0
- package/examples/img/happy_face_1.jpg +0 -0
- package/examples/img/happy_face_2.jpg +0 -0
- package/examples/img/happy_face_3.jpg +0 -0
- package/examples/img/happy_face_4.jpg +0 -0
- package/examples/img/inc1.png +0 -0
- package/examples/img/inc2.png +0 -0
- package/examples/img/normalN.gif +0 -0
- package/examples/img/orange.png +0 -0
- package/examples/img/redX.png +0 -0
- package/examples/img/ribbon.jpg +0 -0
- package/examples/img/sad_face_1.jpg +0 -0
- package/examples/img/sad_face_2.jpg +0 -0
- package/examples/img/sad_face_3.jpg +0 -0
- package/examples/img/sad_face_4.jpg +0 -0
- package/examples/js/snap.svg-min.js +0 -21
- package/examples/js/webgazer.js +0 -88886
- package/examples/jspsych-RDK.html +0 -58
- package/examples/jspsych-animation.html +0 -39
- package/examples/jspsych-audio-button-response.html +0 -58
- package/examples/jspsych-audio-keyboard-response.html +0 -68
- package/examples/jspsych-audio-slider-response.html +0 -61
- package/examples/jspsych-call-function.html +0 -32
- package/examples/jspsych-canvas-button-response.html +0 -95
- package/examples/jspsych-canvas-keyboard-response.html +0 -78
- package/examples/jspsych-canvas-slider-response.html +0 -67
- package/examples/jspsych-categorize-animation.html +0 -49
- package/examples/jspsych-categorize-html.html +0 -33
- package/examples/jspsych-categorize-image.html +0 -44
- package/examples/jspsych-cloze.html +0 -37
- package/examples/jspsych-free-sort.html +0 -109
- package/examples/jspsych-fullscreen.html +0 -45
- package/examples/jspsych-html-button-response.html +0 -43
- package/examples/jspsych-html-keyboard-response.html +0 -42
- package/examples/jspsych-html-slider-response.html +0 -53
- package/examples/jspsych-iat.html +0 -520
- package/examples/jspsych-image-button-response.html +0 -91
- package/examples/jspsych-image-keyboard-response.html +0 -85
- package/examples/jspsych-image-slider-response.html +0 -85
- package/examples/jspsych-instructions.html +0 -37
- package/examples/jspsych-maxdiff.html +0 -33
- package/examples/jspsych-preload.html +0 -140
- package/examples/jspsych-reconstruction.html +0 -43
- package/examples/jspsych-resize.html +0 -34
- package/examples/jspsych-same-different-html.html +0 -28
- package/examples/jspsych-same-different-image.html +0 -39
- package/examples/jspsych-serial-reaction-time-mouse.html +0 -98
- package/examples/jspsych-serial-reaction-time.html +0 -54
- package/examples/jspsych-survey-html-form.html +0 -33
- package/examples/jspsych-survey-likert.html +0 -42
- package/examples/jspsych-survey-multi-choice.html +0 -40
- package/examples/jspsych-survey-multi-select.html +0 -42
- package/examples/jspsych-survey-text.html +0 -34
- package/examples/jspsych-video-button-response.html +0 -65
- package/examples/jspsych-video-keyboard-response.html +0 -61
- package/examples/jspsych-video-slider-response.html +0 -63
- package/examples/jspsych-virtual-chinrest.html +0 -69
- package/examples/jspsych-visual-search-circle.html +0 -64
- package/examples/jspsych-vsl-animate-occlusion.html +0 -35
- package/examples/jspsych-vsl-grid-scene.html +0 -47
- package/examples/lexical-decision.html +0 -134
- package/examples/manual-preloading.html +0 -59
- package/examples/pause-unpause.html +0 -33
- package/examples/progress-bar.html +0 -68
- package/examples/save-trial-parameters.html +0 -98
- package/examples/sound/hammer.mp3 +0 -0
- package/examples/sound/sound.mp3 +0 -0
- package/examples/sound/speech_blue.mp3 +0 -0
- package/examples/sound/speech_green.mp3 +0 -0
- package/examples/sound/speech_joke.mp3 +0 -0
- package/examples/sound/speech_red.mp3 +0 -0
- package/examples/sound/tone.mp3 +0 -0
- package/examples/timeline-variables-sampling.html +0 -50
- package/examples/timeline-variables.html +0 -64
- package/examples/video/sample_video.mp4 +0 -0
- package/examples/webgazer.html +0 -162
- package/examples/webgazer_image.html +0 -60
- package/extensions/jspsych-ext-webgazer.js +0 -185
- package/jspsych.js +0 -3015
- package/license.txt +0 -21
- package/mkdocs.yml +0 -118
- package/plugins/jspsych-animation.js +0 -189
- package/plugins/jspsych-audio-button-response.js +0 -269
- package/plugins/jspsych-audio-keyboard-response.js +0 -212
- package/plugins/jspsych-audio-slider-response.js +0 -278
- package/plugins/jspsych-call-function.js +0 -58
- package/plugins/jspsych-canvas-button-response.js +0 -199
- package/plugins/jspsych-canvas-keyboard-response.js +0 -155
- package/plugins/jspsych-canvas-slider-response.js +0 -207
- package/plugins/jspsych-categorize-animation.js +0 -266
- package/plugins/jspsych-categorize-html.js +0 -220
- package/plugins/jspsych-categorize-image.js +0 -222
- package/plugins/jspsych-cloze.js +0 -112
- package/plugins/jspsych-external-html.js +0 -112
- package/plugins/jspsych-free-sort.js +0 -478
- package/plugins/jspsych-fullscreen.js +0 -106
- package/plugins/jspsych-html-button-response.js +0 -188
- package/plugins/jspsych-html-keyboard-response.js +0 -149
- package/plugins/jspsych-html-slider-response.js +0 -202
- package/plugins/jspsych-iat-html.js +0 -284
- package/plugins/jspsych-iat-image.js +0 -286
- package/plugins/jspsych-image-button-response.js +0 -327
- package/plugins/jspsych-image-keyboard-response.js +0 -263
- package/plugins/jspsych-image-slider-response.js +0 -369
- package/plugins/jspsych-instructions.js +0 -237
- package/plugins/jspsych-maxdiff.js +0 -173
- package/plugins/jspsych-preload.js +0 -345
- package/plugins/jspsych-rdk.js +0 -1373
- package/plugins/jspsych-reconstruction.js +0 -134
- package/plugins/jspsych-resize.js +0 -166
- package/plugins/jspsych-same-different-html.js +0 -168
- package/plugins/jspsych-same-different-image.js +0 -169
- package/plugins/jspsych-serial-reaction-time-mouse.js +0 -212
- package/plugins/jspsych-serial-reaction-time.js +0 -247
- package/plugins/jspsych-survey-html-form.js +0 -171
- package/plugins/jspsych-survey-likert.js +0 -195
- package/plugins/jspsych-survey-multi-choice.js +0 -208
- package/plugins/jspsych-survey-multi-select.js +0 -232
- package/plugins/jspsych-survey-text.js +0 -185
- package/plugins/jspsych-video-button-response.js +0 -335
- package/plugins/jspsych-video-keyboard-response.js +0 -279
- package/plugins/jspsych-video-slider-response.js +0 -351
- package/plugins/jspsych-virtual-chinrest.js +0 -471
- package/plugins/jspsych-visual-search-circle.js +0 -259
- package/plugins/jspsych-vsl-animate-occlusion.js +0 -196
- package/plugins/jspsych-vsl-grid-scene.js +0 -103
- package/plugins/jspsych-webgazer-calibrate.js +0 -166
- package/plugins/jspsych-webgazer-init-camera.js +0 -95
- package/plugins/jspsych-webgazer-validate.js +0 -304
- package/plugins/template/jspsych-plugin-template.js +0 -35
- package/tests/README.md +0 -7
- package/tests/jsPsych/case-sensitive-responses.test.js +0 -53
- package/tests/jsPsych/css-classes-parameter.test.js +0 -107
- package/tests/jsPsych/default-iti.test.js +0 -51
- package/tests/jsPsych/default-parameters.test.js +0 -58
- package/tests/jsPsych/endexperiment.test.js +0 -49
- package/tests/jsPsych/events.test.js +0 -606
- package/tests/jsPsych/functions-as-parameters.test.js +0 -210
- package/tests/jsPsych/init.test.js +0 -48
- package/tests/jsPsych/loads.test.js +0 -7
- package/tests/jsPsych/min-rt.test.js +0 -58
- package/tests/jsPsych/progressbar.test.js +0 -202
- package/tests/jsPsych/timeline-variables.test.js +0 -531
- package/tests/jsPsych/timelines.test.js +0 -569
- package/tests/jsPsych.data/data-csv-conversion.test.js +0 -85
- package/tests/jsPsych.data/data-json-conversion.test.js +0 -120
- package/tests/jsPsych.data/datacollection.test.js +0 -117
- package/tests/jsPsych.data/datacolumn.test.js +0 -50
- package/tests/jsPsych.data/datamodule.test.js +0 -152
- package/tests/jsPsych.data/dataparameter.test.js +0 -251
- package/tests/jsPsych.data/interactions.test.js +0 -109
- package/tests/jsPsych.data/trialparameters.test.js +0 -175
- package/tests/jsPsych.extensions/extensions.test.js +0 -207
- package/tests/jsPsych.extensions/test-extension.js +0 -42
- package/tests/jsPsych.pluginAPI/pluginapi.test.js +0 -341
- package/tests/jsPsych.pluginAPI/preloads.test.js +0 -43
- package/tests/jsPsych.randomization/randomziation.test.js +0 -27
- package/tests/jsPsych.utils/utils.test.js +0 -58
- package/tests/plugins/plugin-animation.test.js +0 -34
- package/tests/plugins/plugin-audio-button-response.test.js +0 -15
- package/tests/plugins/plugin-audio-keyboard-response.test.js +0 -15
- package/tests/plugins/plugin-audio-slider-response.test.js +0 -15
- package/tests/plugins/plugin-call-function.test.js +0 -49
- package/tests/plugins/plugin-categorize-animation.test.js +0 -263
- package/tests/plugins/plugin-categorize-html.test.js +0 -17
- package/tests/plugins/plugin-categorize-image.test.js +0 -17
- package/tests/plugins/plugin-cloze.test.js +0 -157
- package/tests/plugins/plugin-free-sort.test.js +0 -106
- package/tests/plugins/plugin-fullscreen.test.js +0 -41
- package/tests/plugins/plugin-html-button-response.test.js +0 -161
- package/tests/plugins/plugin-html-keyboard-response.test.js +0 -139
- package/tests/plugins/plugin-html-slider-response.test.js +0 -155
- package/tests/plugins/plugin-iat-html.test.js +0 -299
- package/tests/plugins/plugin-iat-image.test.js +0 -298
- package/tests/plugins/plugin-image-button-response.test.js +0 -174
- package/tests/plugins/plugin-image-keyboard-response.test.js +0 -147
- package/tests/plugins/plugin-image-slider-response.test.js +0 -174
- package/tests/plugins/plugin-instructions.test.js +0 -85
- package/tests/plugins/plugin-maxdiff.test.js +0 -39
- package/tests/plugins/plugin-preload.test.js +0 -916
- package/tests/plugins/plugin-rdk.test.js +0 -61
- package/tests/plugins/plugin-reconstruction.test.js +0 -16
- package/tests/plugins/plugin-resize.test.js +0 -16
- package/tests/plugins/plugin-same-different-html.test.js +0 -17
- package/tests/plugins/plugin-same-different-image.test.js +0 -17
- package/tests/plugins/plugin-serial-reaction-time-mouse.test.js +0 -42
- package/tests/plugins/plugin-serial-reaction-time.test.js +0 -109
- package/tests/plugins/plugin-survey-html-form.test.js +0 -44
- package/tests/plugins/plugin-survey-likert.test.js +0 -48
- package/tests/plugins/plugin-survey-multi-choice.test.js +0 -47
- package/tests/plugins/plugin-survey-multi-select.test.js +0 -71
- package/tests/plugins/plugin-survey-text.test.js +0 -115
- package/tests/plugins/plugin-video-button-response.test.js +0 -32
- package/tests/plugins/plugin-video-keyboard-response.test.js +0 -32
- package/tests/plugins/plugin-video-slider-response.test.js +0 -31
- package/tests/plugins/plugin-visual-search-circle.test.js +0 -16
- package/tests/plugins/plugin-vsl-animate-occlusion.test.js +0 -16
- package/tests/plugins/plugin-vsl-grid-scene.test.js +0 -16
- package/tests/testing-utils.js +0 -13
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# jspsych-audio-slider-response
|
|
2
|
-
|
|
3
|
-
This plugin plays an audio file and allows the subject to respond by dragging a slider.
|
|
4
|
-
|
|
5
|
-
If the browser supports it, audio files are played using the WebAudio API. This allows for reasonably precise timing of the playback. The timing of responses generated is measured against the WebAudio specific clock, improving the measurement of response times. If the browser does not support the WebAudio API, then the audio file is played with HTML5 audio.
|
|
6
|
-
|
|
7
|
-
Audio files can be automatically preloaded by jsPsych using the [`preload` plugin](jspsych-preload.md). However, if you are using timeline variables or another dynamic method to specify the audio stimulus, then you will need to [manually preload](/overview/media-preloading/#manual-preloading) the audio.
|
|
8
|
-
|
|
9
|
-
The trial can end when the subject responds, or if the subject has failed to respond within a fixed length of time. You can also prevent the slider response from being made before the audio has finished playing.
|
|
10
|
-
|
|
11
|
-
## Parameters
|
|
12
|
-
|
|
13
|
-
In addition to the [parameters available in all plugins](/overview/plugins#parameters-available-in-all-plugins), this plugin accepts the following parameters. Parameters with a default value of *undefined* must be specified. Other parameters can be left unspecified if the default value is acceptable.
|
|
14
|
-
|
|
15
|
-
| Parameter | Type | Default Value | Description |
|
|
16
|
-
| ------------------------------ | ---------------- | ------------- | ---------------------------------------- |
|
|
17
|
-
| stimulus | audio file | *undefined* | Audio file to be played |
|
|
18
|
-
| labels | array of strings | [] | Labels displayed at equidistant locations on the slider. For example, two labels will be placed at the ends of the slider. Three labels would place two at the ends and one in the middle. Four will place two at the ends, and the other two will be at 33% and 67% of the slider width. |
|
|
19
|
-
| button_label | string | 'Continue' | Label of the button to end the trial. |
|
|
20
|
-
| min | integer | 0 | Sets the minimum value of the slider |
|
|
21
|
-
| max | integer | 100 | Sets the maximum value of the slider |
|
|
22
|
-
| slider_start | integer | 50 | Sets the starting value of the slider |
|
|
23
|
-
| step | integer | 1 | Sets the step of the slider. This is the smallest amount by which the slider can change. |
|
|
24
|
-
| slider_width | integer | null | Set the width of the slider in pixels. If left null, then the width will be equal to the widest element in the display. |
|
|
25
|
-
| require_movement | boolean | false | If true, the subject must move the slider before clicking the continue button. |
|
|
26
|
-
| prompt | string | null | This string can contain HTML markup. Any content here will be displayed below the stimulus. The intention is that it can be used to provide a reminder about the action the subject is supposed to take (e.g., which key to press). |
|
|
27
|
-
| trial_duration | numeric | null | How long to wait for the subject to make a response before ending the trial in milliseconds. If the subject fails to make a response before this timer is reached, the subject's response will be recorded as null for the trial and the trial will end. If the value of this parameter is null, then the trial will wait for a response indefinitely. |
|
|
28
|
-
| response_ends_trial | boolean | true | If true, then the trial will end whenever the subject makes a response (assuming they make their response before the cutoff specified by the `trial_duration` parameter). If false, then the trial will continue until the value for `trial_duration` is reached. You can set this parameter to `false` to force the subject to listen to the stimulus for a fixed amount of time, even if they respond before the time is complete. |
|
|
29
|
-
| response_allowed_while_playing | boolean | true | If true, then responses are allowed while the audio is playing. If false, then the audio must finish playing before the slider is enabled and the trial can end via the next button click. Once the audio has played all the way through, the slider is enabled and a response is allowed (including while the audio is being re-played via on-screen playback controls). |
|
|
30
|
-
|
|
31
|
-
## Data Generated
|
|
32
|
-
|
|
33
|
-
In addition to the [default data collected by all plugins](/overview/plugins#data-collected-by-all-plugins), this plugin collects the following data for each trial.
|
|
34
|
-
|
|
35
|
-
| Name | Type | Value |
|
|
36
|
-
| ------------ | ------- | ---------------------------------------- |
|
|
37
|
-
| response | numeric | The numeric value of the slider. |
|
|
38
|
-
| rt | numeric | The time in milliseconds for the subject to make a response. The time is measured from when the stimulus first began playing until the subject's response. |
|
|
39
|
-
| stimulus | string | The path of the audio file that was played. |
|
|
40
|
-
| slider_start | numeric | The starting value of the slider. |
|
|
41
|
-
|
|
42
|
-
## Examples
|
|
43
|
-
|
|
44
|
-
#### A simple rating scale
|
|
45
|
-
|
|
46
|
-
```javascript
|
|
47
|
-
var trial_1 = {
|
|
48
|
-
type: 'audio-slider-response',
|
|
49
|
-
stimulus: 'sound/speech_joke.mp3',
|
|
50
|
-
labels: ['Not Funny', 'Funny'],
|
|
51
|
-
prompt: '<p>How funny is the joke?</p>'
|
|
52
|
-
}
|
|
53
|
-
```
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
# jspsych-call-function
|
|
2
|
-
|
|
3
|
-
This plugin executes a specified function. This allows the experimenter to run arbitrary code at any point during the experiment.
|
|
4
|
-
|
|
5
|
-
The function cannot take any arguments. If arguments are needed, then an anonymous function should be used to wrap the function call (see examples below).
|
|
6
|
-
|
|
7
|
-
## Parameters
|
|
8
|
-
|
|
9
|
-
In addition to the [parameters available in all plugins](/overview/plugins#parameters-available-in-all-plugins), this plugin accepts the following parameters. Parameters with a default value of *undefined* must be specified. Other parameters can be left unspecified if the default value is acceptable.
|
|
10
|
-
|
|
11
|
-
Parameter | Type | Default Value | Description
|
|
12
|
-
----------|------|---------------|------------
|
|
13
|
-
func | function | *undefined* | The function to call.
|
|
14
|
-
async | boolean | `false` | Set to true if `func` is an asynchoronous function. If this is true, then the first argument passed to `func` will be a callback that you should call when the async operation is complete. You can pass data to the callback. See example below.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
## Data Generated
|
|
18
|
-
|
|
19
|
-
In addition to the [default data collected by all plugins](/overview/plugins#data-collected-by-all-plugins), this plugin collects the following data for each trial.
|
|
20
|
-
|
|
21
|
-
Name | Type | Value
|
|
22
|
-
-----|------|------
|
|
23
|
-
value | any | The return value of the called function.
|
|
24
|
-
|
|
25
|
-
## Examples
|
|
26
|
-
|
|
27
|
-
#### Calling a simple function
|
|
28
|
-
|
|
29
|
-
```javascript
|
|
30
|
-
|
|
31
|
-
var myfunc = function() {
|
|
32
|
-
return 'you called?';
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
var trial = {
|
|
36
|
-
type: 'call-function',
|
|
37
|
-
func: myfunc
|
|
38
|
-
}
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
#### Using an anonymous function to pass variables
|
|
42
|
-
|
|
43
|
-
```javascript
|
|
44
|
-
|
|
45
|
-
var myfunc = function(data){
|
|
46
|
-
// data contains all the experiment data so far,
|
|
47
|
-
// so this function could implement code to write
|
|
48
|
-
// the data to a database.
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
var trial = {
|
|
52
|
-
type: 'call-function',
|
|
53
|
-
func: function(){ myfunc(jsPsych.data.get())}
|
|
54
|
-
}
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
#### Async function call
|
|
58
|
-
|
|
59
|
-
```javascript
|
|
60
|
-
var trial = {
|
|
61
|
-
type: 'call-function',
|
|
62
|
-
async: true,
|
|
63
|
-
func: function(done){
|
|
64
|
-
// can perform async operations here like
|
|
65
|
-
// creating an XMLHttpRequest to communicate
|
|
66
|
-
// with a server
|
|
67
|
-
var xhttp = new XMLHttpRequest();
|
|
68
|
-
xhttp.onreadystatechange = function() {
|
|
69
|
-
if (this.readyState == 4 && this.status == 200) {
|
|
70
|
-
var response_data = xhttp.responseText;
|
|
71
|
-
// line below is what causes jsPsych to
|
|
72
|
-
// continue to next trial. response_data
|
|
73
|
-
// will be stored in jsPsych data object.
|
|
74
|
-
done(response_data);
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
xhttp.open("GET", "path_to_server_script.php", true);
|
|
78
|
-
xhttp.send();
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
```
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
# jspsych-canvas-button-response
|
|
2
|
-
|
|
3
|
-
This plugin can be used to draw a stimulus on a [HTML canvas element](https://www.w3schools.com/html/html5_canvas.asp), and record a button click response and response time. The canvas stimulus can be useful for displaying dynamic, parametrically-defined graphics, and for controlling the positioning of multiple graphical elements (shapes, text, images). The stimulus can be displayed until a response is given, or for a pre-determined amount of time. The trial can be ended automatically if the subject has failed to respond within a fixed length of time. One or more button choices will be displayed under the canvas, and the button style can be customized using HTML formatting.
|
|
4
|
-
|
|
5
|
-
## Parameters
|
|
6
|
-
|
|
7
|
-
In addition to the [parameters available in all plugins](/overview/plugins#parameters-available-in-all-plugins), this plugin accepts the following parameters. Parameters with a default value of *undefined* must be specified. Other parameters can be left unspecified if the default value is acceptable.
|
|
8
|
-
|
|
9
|
-
Parameter | Type | Default Value | Description
|
|
10
|
-
----------|------|---------------|------------
|
|
11
|
-
stimulus | function | *undefined* | The function to draw on the canvas. This function automatically takes a canvas element as its only argument, e.g. `function(c) {...}` or `function drawStim(c) {...}`, where `c` refers to the canvas element. Note that the stimulus function will still generally need to set the correct context itself, using a line like `let ctx = c.getContext("2d")`.
|
|
12
|
-
canvas_size | array | [500, 500] | Array that defines the size of the canvas element in pixels. First value is height, second value is width.
|
|
13
|
-
choices | array of strings | [] | Labels for the buttons. Each different string in the array will generate a different button.
|
|
14
|
-
button_html | HTML string | `'<button class="jspsych-btn">%choice%</button>'` | A template of HTML for generating the button elements. You can override this to create customized buttons of various kinds. The string `%choice%` will be changed to the corresponding element of the `choices` array. You may also specify an array of strings, if you need different HTML to render for each button. If you do specify an array, the `choices` array and this array must have the same length. The HTML from position 0 in the `button_html` array will be used to create the button for element 0 in the `choices` array, and so on.
|
|
15
|
-
prompt | string | null | This string can contain HTML markup. Any content here will be displayed below the stimulus. The intention is that it can be used to provide a reminder about the action the subject is supposed to take (e.g., what question to answer).
|
|
16
|
-
trial_duration | numeric | null | How long to wait for the subject to make a response before ending the trial in milliseconds. If the subject fails to make a response before this timer is reached, the subject's response will be recorded as null for the trial and the trial will end. If the value of this parameter is null, the trial will wait for a response indefinitely.
|
|
17
|
-
stimulus_duration | numeric | null | How long to display the stimulus in milliseconds. The visibility CSS property of the stimulus will be set to `hidden` after this time has elapsed. If this is null, then the stimulus will remain visible until the trial ends.
|
|
18
|
-
margin_vertical | string | '0px' | Vertical margin of the button(s).
|
|
19
|
-
margin_horizontal | string | '8px' | Horizontal margin of the button(s).
|
|
20
|
-
response_ends_trial | boolean | true | If true, then the trial will end whenever the subject makes a response (assuming they make their response before the cutoff specified by the `trial_duration` parameter). If false, then the trial will continue until the value for `trial_duration` is reached. You can use this parameter to force the subject to view a stimulus for a fixed amount of time, even if they respond before the time is complete.
|
|
21
|
-
|
|
22
|
-
## Data Generated
|
|
23
|
-
|
|
24
|
-
In addition to the [default data collected by all plugins](/overview/plugins#data-collected-by-all-plugins), this plugin collects the following data for each trial.
|
|
25
|
-
|
|
26
|
-
Name | Type | Value
|
|
27
|
-
-----|------|------
|
|
28
|
-
rt | numeric | The response time in milliseconds for the subject to make a response. The time is measured from when the stimulus first appears on the screen until the subject's response.
|
|
29
|
-
response | numeric | Indicates which button the subject pressed. The first button in the `choices` array is 0, the second is 1, and so on.
|
|
30
|
-
|
|
31
|
-
Note: the canvas stimulus is *not* included in the trial data because it is a function. Any stimulus information that should be saved in the trial data can be added via the `data` parameter.
|
|
32
|
-
|
|
33
|
-
## Examples
|
|
34
|
-
|
|
35
|
-
### Drawing circles based on parameters
|
|
36
|
-
|
|
37
|
-
```javascript
|
|
38
|
-
function filledCirc(canvas, radius, color){
|
|
39
|
-
var ctx = canvas.getContext("2d");
|
|
40
|
-
ctx.beginPath();
|
|
41
|
-
ctx.arc(250, 250, radius, 0, 2 * Math.PI);
|
|
42
|
-
ctx.fillStyle = color;
|
|
43
|
-
ctx.fill()
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
var circle_1 = {
|
|
47
|
-
type: 'canvas-button-response',
|
|
48
|
-
stimulus: function (c) {
|
|
49
|
-
filledCirc(c, 100, 'blue');
|
|
50
|
-
},
|
|
51
|
-
choices: ['Red', 'Green', 'Blue'],
|
|
52
|
-
prompt: '<p>What color is the circle?</p>'
|
|
53
|
-
data: {color: 'blue', radius: 100}
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
var circle_2 = {
|
|
57
|
-
type: 'canvas-button-response',
|
|
58
|
-
stimulus: function (c) {
|
|
59
|
-
filledCirc(c, 150, 'green');
|
|
60
|
-
},
|
|
61
|
-
choices: ['Larger', 'Smaller'],
|
|
62
|
-
prompt: '<p>Is this circle larger or smaller than the last one?</p>',
|
|
63
|
-
data: {color: 'green', radius: 150}
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
```
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
# jspsych-canvas-keyboard-response
|
|
2
|
-
|
|
3
|
-
This plugin can be used to draw a stimulus on a [HTML canvas element](https://www.w3schools.com/html/html5_canvas.asp) and record a keyboard response. The canvas stimulus can be useful for displaying dynamic, parametrically-defined graphics, and for controlling the positioning of multiple graphical elements (shapes, text, images). The stimulus can be displayed until a response is given, or for a pre-determined amount of time. The trial can be ended automatically if the subject has failed to respond within a fixed length of time.
|
|
4
|
-
|
|
5
|
-
## Parameters
|
|
6
|
-
|
|
7
|
-
In addition to the [parameters available in all plugins](/overview/plugins#parameters-available-in-all-plugins), this plugin accepts the following parameters. Parameters with a default value of *undefined* must be specified. Other parameters can be left unspecified if the default value is acceptable.
|
|
8
|
-
|
|
9
|
-
| Parameter | Type | Default Value | Description |
|
|
10
|
-
| ------------------- | ---------------- | ------------------ | ---------------------------------------- |
|
|
11
|
-
| stimulus | function | *undefined* | The function to draw on the canvas. This function automatically takes a canvas element as its only argument, e.g. `function(c) {...}` or `function drawStim(c) {...}`, where `c` refers to the canvas element. Note that the stimulus function will still generally need to set the correct context itself, using a line like `let ctx = c.getContext("2d")`. |
|
|
12
|
-
| canvas_size | array | [500, 500] | Array that defines the size of the canvas element in pixels. First value is height, second value is width. |
|
|
13
|
-
| choices | array of strings | `jsPsych.ALL_KEYS` | This array contains the key(s) that the subject is allowed to press in order to respond to the stimulus. Keys should be specified as characters (e.g., `'a'`, `'q'`, `' '`, `'Enter'`, `'ArrowDown'`) - see [this page](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values) and [this page (event.key column)](https://www.freecodecamp.org/news/javascript-keycode-list-keypress-event-key-codes/) for more examples. Any key presses that are not listed in the array will be ignored. The default value of `jsPsych.ALL_KEYS` means that all keys will be accepted as valid responses. Specifying `jsPsych.NO_KEYS` will mean that no responses are allowed. |
|
|
14
|
-
| prompt | string | null | This string can contain HTML markup. Any content here will be displayed below the stimulus. The intention is that it can be used to provide a reminder about the action the subject is supposed to take (e.g., which key to press). |
|
|
15
|
-
| stimulus_duration | numeric | null | How long to display the stimulus in milliseconds. The visibility CSS property of the stimulus will be set to `hidden` after this time has elapsed. If this is null, then the stimulus will remain visible until the trial ends. |
|
|
16
|
-
| trial_duration | numeric | null | How long to wait for the subject to make a response before ending the trial in milliseconds. If the subject fails to make a response before this timer is reached, the subject's response will be recorded as null for the trial and the trial will end. If the value of this parameter is null, then the trial will wait for a response indefinitely. |
|
|
17
|
-
| response_ends_trial | boolean | true | If true, then the trial will end whenever the subject makes a response (assuming they make their response before the cutoff specified by the `trial_duration` parameter). If false, then the trial will continue until the value for `trial_duration` is reached. You can use this parameter to force the subject to view a stimulus for a fixed amount of time, even if they respond before the time is complete. |
|
|
18
|
-
|
|
19
|
-
## Data Generated
|
|
20
|
-
|
|
21
|
-
In addition to the [default data collected by all plugins](/overview/plugins#data-collected-by-all-plugins), this plugin collects the following data for each trial.
|
|
22
|
-
|
|
23
|
-
| Name | Type | Value |
|
|
24
|
-
| --------- | ------- | ---------------------------------------- |
|
|
25
|
-
| response | string | Indicates which key the subject pressed. |
|
|
26
|
-
| rt | numeric | The response time in milliseconds for the subject to make a response. The time is measured from when the stimulus first appears on the screen until the subject's response. |
|
|
27
|
-
|
|
28
|
-
Note: the canvas stimulus is *not* included in the trial data because it is a function. Any stimulus information that should be saved in the trial data can be added via the `data` parameter.
|
|
29
|
-
|
|
30
|
-
## Examples
|
|
31
|
-
|
|
32
|
-
### Draw rectangle and wait for response
|
|
33
|
-
|
|
34
|
-
```javascript
|
|
35
|
-
function drawRect(c){
|
|
36
|
-
var ctx = c.getContext('2d');
|
|
37
|
-
ctx.beginPath();
|
|
38
|
-
ctx.rect(30, 30, 200, 50);
|
|
39
|
-
ctx.stroke();
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
var trial = {
|
|
43
|
-
type: 'canvas-keyboard-response',
|
|
44
|
-
stimulus: drawRect,
|
|
45
|
-
choices: ['e','i'],
|
|
46
|
-
prompt: '<p>Is this a circle or a rectangle? Press "e" for circle and "i" for rectangle.</p>',
|
|
47
|
-
data: {shape: 'rectangle'}
|
|
48
|
-
}
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### Draw circle, no response allowed
|
|
52
|
-
|
|
53
|
-
```javascript
|
|
54
|
-
function drawCirc(c){
|
|
55
|
-
var ctx = c.getContext('2d');
|
|
56
|
-
ctx.beginPath();
|
|
57
|
-
ctx.arc(100, 75, 50, 0, 2 * Math.PI);
|
|
58
|
-
ctx.stroke();
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
var trial = {
|
|
62
|
-
type: 'canvas-keyboard-response',
|
|
63
|
-
stimulus: drawCirc,
|
|
64
|
-
choices: jsPsych.NO_KEYS,
|
|
65
|
-
trial_duration: 1000,
|
|
66
|
-
data: {shape: 'circle', radius: 50}
|
|
67
|
-
}
|
|
68
|
-
```
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
# jspsych-canvas-slider-response
|
|
2
|
-
|
|
3
|
-
This plugin can be used to draw a stimulus on a [HTML canvas element](https://www.w3schools.com/html/html5_canvas.asp) and collect a response within a range of values, which is made by dragging a slider. The canvas stimulus can be useful for displaying dynamic, parametrically-defined graphics, and for controlling the positioning of multiple graphical elements (shapes, text, images). The stimulus can be displayed until a response is given, or for a pre-determined amount of time. The trial can be ended automatically if the subject has failed to respond within a fixed length of time.
|
|
4
|
-
|
|
5
|
-
## Parameters
|
|
6
|
-
|
|
7
|
-
In addition to the [parameters available in all plugins](/overview/plugins#parameters-available-in-all-plugins), this plugin accepts the following parameters. Parameters with a default value of *undefined* must be specified. Other parameters can be left unspecified if the default value is acceptable.
|
|
8
|
-
|
|
9
|
-
Parameter | Type | Default Value | Description
|
|
10
|
-
----------|------|---------------|------------
|
|
11
|
-
stimulus | function | *undefined* | The function to draw on the canvas. This function automatically takes a canvas element as its only argument, e.g. `function(c) {...}` or `function drawStim(c) {...}`, where `c` refers to the canvas element. Note that the stimulus function will still generally need to set the correct context itself, using a line like `let ctx = c.getContext("2d")`.
|
|
12
|
-
canvas_size | array | [500, 500] | Array that defines the size of the canvas element in pixels. First value is height, second value is width.
|
|
13
|
-
labels | array of strings | [] | Labels displayed at equidistant locations on the slider. For example, two labels will be placed at the ends of the slider. Three labels would place two at the ends and one in the middle. Four will place two at the ends, and the other two will be at 33% and 67% of the slider width.
|
|
14
|
-
button_label | string | 'Continue' | Label of the button to end the trial.
|
|
15
|
-
min | integer | 0 | Sets the minimum value of the slider.
|
|
16
|
-
max | integer | 100 | Sets the maximum value of the slider.
|
|
17
|
-
slider_start | integer | 50 | Sets the starting value of the slider.
|
|
18
|
-
step | integer | 1 | Sets the step of the slider. This is the smallest amount by which the slider can change.
|
|
19
|
-
slider_width | integer | null | Set the width of the slider in pixels. If left null, then the width will be equal to the widest element in the display.
|
|
20
|
-
require_movement | boolean | false | If true, the subject must click the slider before clicking the continue button.
|
|
21
|
-
prompt | string | null | This string can contain HTML markup. Any content here will be displayed below the stimulus. The intention is that it can be used to provide a reminder about the action the subject is supposed to take (e.g., what question to answer).
|
|
22
|
-
stimulus_duration | numeric | null | How long to display the stimulus in milliseconds. The visibility CSS property of the stimulus will be set to `hidden` after this time has elapsed. If this is null, then the stimulus will remain visible until the trial ends.
|
|
23
|
-
trial_duration | numeric | null | How long to wait for the subject to make a response before ending the trial in milliseconds. If the subject fails to make a response before this timer is reached, the subject's response will be recorded as null for the trial and the trial will end. If the value of this parameter is null, then the trial will wait for a response indefinitely.
|
|
24
|
-
response_ends_trial | boolean | true | If true, then the trial will end whenever the subject makes a response (assuming they make their response before the cutoff specified by the `trial_duration` parameter). If false, then the trial will continue until the value for `trial_duration` is reached. You can use this parameter to force the subject to view a stimulus for a fixed amount of time, even if they respond before the time is complete.
|
|
25
|
-
|
|
26
|
-
## Data Generated
|
|
27
|
-
|
|
28
|
-
In addition to the [default data collected by all plugins](/overview/plugins#data-collected-by-all-plugins), this plugin collects the following data for each trial.
|
|
29
|
-
|
|
30
|
-
Name | Type | Value
|
|
31
|
-
-----|------|------
|
|
32
|
-
response | numeric | The numeric value of the slider.
|
|
33
|
-
rt | numeric | The time in milliseconds for the subject to make a response. The time is measured from when the stimulus first appears on the screen until the subject's response.
|
|
34
|
-
|
|
35
|
-
Note: the canvas stimulus is *not* included in the trial data because it is a function. Any stimulus information that should be saved in the trial data can be added via the `data` parameter.
|
|
36
|
-
|
|
37
|
-
## Examples
|
|
38
|
-
|
|
39
|
-
### Draw two squares
|
|
40
|
-
|
|
41
|
-
```javascript
|
|
42
|
-
var colors = [#'FF3333', '#FF6A33'];
|
|
43
|
-
|
|
44
|
-
function twoSquares(c) {
|
|
45
|
-
var ctx = c.getContext('2d');
|
|
46
|
-
ctx.fillStyle = colors[0];
|
|
47
|
-
ctx.fillRect(200, 70, 40, 40);
|
|
48
|
-
ctx.fillStyle = colors[1];
|
|
49
|
-
ctx.fillRect(260, 70, 40, 40);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
var trial = {
|
|
53
|
-
type: 'canvas-slider-response',
|
|
54
|
-
stimulus: twoSquares,
|
|
55
|
-
labels: ['0','10'],
|
|
56
|
-
canvas_size: [200, 500],
|
|
57
|
-
prompt: '<p>How different would you say the colors of these two squares are on a scale from 0 (the same) to 10 (completely different)</p>',
|
|
58
|
-
data: {color1: colors[0], color2: colors[1]}
|
|
59
|
-
}
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### Draw two squares with additional parameters
|
|
63
|
-
|
|
64
|
-
```javascript
|
|
65
|
-
var colors;
|
|
66
|
-
|
|
67
|
-
function twoSquares(c, colors) {
|
|
68
|
-
var ctx = c.getContext('2d');
|
|
69
|
-
ctx.fillStyle = colors[0];
|
|
70
|
-
ctx.fillRect(200, 70, 40, 40);
|
|
71
|
-
ctx.fillStyle = colors[1];
|
|
72
|
-
ctx.fillRect(260, 70, 40, 40);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
var trial = {
|
|
76
|
-
type: 'canvas-slider-response',
|
|
77
|
-
stimulus: function(c) {
|
|
78
|
-
colors = ['darkred', 'cyan'];
|
|
79
|
-
twoSquares(c, colors);
|
|
80
|
-
},
|
|
81
|
-
labels: ['Exactly<br>the same','Totally<br>different'],
|
|
82
|
-
canvas_size: [200, 500],
|
|
83
|
-
prompt: '<p>How different would you say the colors of these two squares are?</p>',
|
|
84
|
-
on_finish: function(data) {
|
|
85
|
-
data.color1 = colors[0];
|
|
86
|
-
data.color2 = colors[1];
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
```
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
# jspsych-categorize-animation
|
|
2
|
-
|
|
3
|
-
The categorize animation plugin shows a sequence of images at a specified frame rate. The subject responds by pressing a key. Feedback indicating the correctness of the response is given.
|
|
4
|
-
|
|
5
|
-
## Parameters
|
|
6
|
-
|
|
7
|
-
In addition to the [parameters available in all plugins](/overview/plugins#parameters-available-in-all-plugins), this plugin accepts the following parameters. Parameters with a default value of *undefined* must be specified. Other parameters can be left unspecified if the default value is acceptable.
|
|
8
|
-
|
|
9
|
-
| Parameter | Type | Default Value | Description |
|
|
10
|
-
| ------------------------------ | ---------------- | ------------------ | ---------------------------------------- |
|
|
11
|
-
| stimuli | array | *undefined* | Each element of the array is a path to an image file. |
|
|
12
|
-
| choices | array of strings | `jsPsych.ALL_KEYS` | This array contains the key(s) that the subject is allowed to press in order to respond to the stimulus. Keys should be specified as characters (e.g., `'a'`, `'q'`, `' '`, `'Enter'`, `'ArrowDown'`) - see [this page](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values) and [this page (event.key column)](https://www.freecodecamp.org/news/javascript-keycode-list-keypress-event-key-codes/) for more examples. Any key presses that are not listed in the array will be ignored. The default value of `jsPsych.ALL_KEYS` means that all keys will be accepted as valid responses. Specifying `jsPsych.NO_KEYS` will mean that no responses are allowed. |
|
|
13
|
-
| key_answer | string | *undefined* | The key character indicating the correct response. |
|
|
14
|
-
| text_answer | string | "" | A text label that describes the correct answer. Used in conjunction with the `correct_text` and `incorrect_text` parameters. |
|
|
15
|
-
| correct_text | string | "Correct." | String to show when the correct answer is given. Can contain HTML formatting. The special string `%ANS%` can be used within the string. If present, the plugin will put the `text_answer` for the trial in place of the %ANS% string (see example below). |
|
|
16
|
-
| incorrect_text | string | "Wrong." | String to show when the wrong answer is given. Can contain HTML formatting. The special string `%ANS%` can be used within the string. If present, the plugin will put the `text_answer` for the trial in place of the %ANS% string (see example below). |
|
|
17
|
-
| frame_time | numeric | 500 | How long to display each image (in milliseconds). |
|
|
18
|
-
| sequence_reps | numeric | 1 | How many times to show the entire sequence. |
|
|
19
|
-
| allow_response_before_complete | boolean | false | If true, the subject can respond before the animation sequence finishes. |
|
|
20
|
-
| prompt | string | null | This string can contain HTML markup. Any content here will be displayed below the stimulus. The intention is that it can be used to provide a reminder about the action the subject is supposed to take (e.g., which key to press). |
|
|
21
|
-
| feedback_duration | numeric | 2000 | How long to show the feedback (milliseconds). |
|
|
22
|
-
| render_on_canvas | boolean | true | If true, the images will be drawn onto a canvas element. This prevents a blank screen (white flash) between consecutive images in some browsers, like Firefox and Edge. If false, the image will be shown via an img element, as in previous versions of jsPsych. |
|
|
23
|
-
|
|
24
|
-
## Data Generated
|
|
25
|
-
|
|
26
|
-
In addition to the [default data collected by all plugins](/overview/plugins#data-collected-by-all-plugins), this plugin collects the following data for each trial.
|
|
27
|
-
|
|
28
|
-
| Name | Type | Value |
|
|
29
|
-
| --------- | ------- | ---------------------------------------- |
|
|
30
|
-
| stimulus | array | Array of stimuli displayed in the trial. This will be encoded as a JSON string when data is saved using the `.json()` or `.csv()` functions. |
|
|
31
|
-
| response | string | Indicates which key the subject pressed. |
|
|
32
|
-
| rt | numeric | The response time in milliseconds for the subject to make a response. The time is measured from when the stimulus first appears on the screen until the subject's response. |
|
|
33
|
-
| correct | boolean | `true` if the subject got the correct answer, `false` otherwise. |
|
|
34
|
-
|
|
35
|
-
## Examples
|
|
36
|
-
|
|
37
|
-
#### Basic example
|
|
38
|
-
|
|
39
|
-
```javascript
|
|
40
|
-
var animation_trial = {
|
|
41
|
-
type: 'categorize-animation',
|
|
42
|
-
stimuli: ["img/face_3.jpg", "img/face_2.jpg", "img/face_4.jpg", "img/face_1.jpg"],
|
|
43
|
-
choices: ['p', 'q'],
|
|
44
|
-
key_answer: 'q',
|
|
45
|
-
};
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
#### Giving feedback with `%ANS%` string
|
|
49
|
-
|
|
50
|
-
```javascript
|
|
51
|
-
var animation_trial = {
|
|
52
|
-
type: 'categorize-animation',
|
|
53
|
-
stimuli: ["img/face_3.jpg", "img/face_2.jpg", "img/face_4.jpg", "img/face_1.jpg"],
|
|
54
|
-
choices: ['p', 'q'],
|
|
55
|
-
key_answer: 'q',
|
|
56
|
-
text_answer: 'Dax', // the label for the sequence is 'Dax'
|
|
57
|
-
correct_text: 'Correct! This was a %ANS%.',
|
|
58
|
-
incorrect_text: 'Incorrect. This was a %ANS%.'
|
|
59
|
-
};
|
|
60
|
-
```
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# jspsych-categorize-html
|
|
2
|
-
|
|
3
|
-
The categorize html plugin shows an HTML object on the screen. The subject responds by pressing a key. Feedback indicating the correctness of the response is given.
|
|
4
|
-
|
|
5
|
-
## Parameters
|
|
6
|
-
|
|
7
|
-
In addition to the [parameters available in all plugins](/overview/plugins#parameters-available-in-all-plugins), this plugin accepts the following parameters. Parameters with a default value of *undefined* must be specified. Other parameters can be left unspecified if the default value is acceptable.
|
|
8
|
-
|
|
9
|
-
| Parameter | Type | Default Value | Description |
|
|
10
|
-
| -------------------------- | ---------------- | ------------------------ | ---------------------------------------- |
|
|
11
|
-
| stimulus | html string | *undefined* | The HTML stimulus to display. |
|
|
12
|
-
| choices | array of strings | `jsPsych.ALL_KEYS` | This array contains the key(s) that the subject is allowed to press in order to respond to the stimulus. Keys should be specified as characters (e.g., `'a'`, `'q'`, `' '`, `'Enter'`, `'ArrowDown'`) - see [this page](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values) and [this page (event.key column)](https://www.freecodecamp.org/news/javascript-keycode-list-keypress-event-key-codes/) for more examples. Any key presses that are not listed in the array will be ignored. The default value of `jsPsych.ALL_KEYS` means that all keys will be accepted as valid responses. Specifying `jsPsych.NO_KEYS` will mean that no responses are allowed. |
|
|
13
|
-
| key_answer | string | *undefined* | The key character indicating the correct response. |
|
|
14
|
-
| text_answer | string | "" | A label that is associated with the correct answer. Used in conjunction with the `correct_text` and `incorrect_text` parameters. |
|
|
15
|
-
| correct_text | string | "Correct." | String to show when the correct answer is given. Can contain HTML formatting. The special string `%ANS%` can be used within the string. If present, the plugin will put the `text_answer` for the trial in place of the `%ANS%` string (see example below). |
|
|
16
|
-
| incorrect_text | string | "Wrong." | String to show when the wrong answer is given. Can contain HTML formatting. The special string `%ANS%` can be used within the string. If present, the plugin will put the `text_answer` for the trial in place of the `%ANS%` string (see example below). |
|
|
17
|
-
| prompt | string | null | This string can contain HTML markup. Any content here will be displayed below the stimulus. The intention is that it can be used to provide a reminder about the action the subject is supposed to take (e.g., which key to press). |
|
|
18
|
-
| force_correct_button_press | boolean | false | If set to true, then the subject must press the correct response key after feedback is given in order to advance to the next trial. |
|
|
19
|
-
| show_stim_with_feedback | boolean | true | If set to true, then the stimulus will be shown during feedback. If false, then only the text feedback will display during feedback. |
|
|
20
|
-
| show_feedback_on_timeout | boolean | false | If true, then category feedback will be displayed for an incorrect response after a timeout (trial_duration is exceeded). If false, then a timeout message will be shown. |
|
|
21
|
-
| timeout_message | string | "Please respond faster." | The message to show on a timeout non-response. |
|
|
22
|
-
| stimulus_duration | numeric | null | How long to show the stimulus for (milliseconds). If null, then the stimulus is shown until a response is given. |
|
|
23
|
-
| feedback_duration | numeric | 2000 | How long to show the feedback for (milliseconds). |
|
|
24
|
-
| trial_duration | numeric | null | The maximum time allowed for a response. If null, then the experiment will wait indefinitely for a response. |
|
|
25
|
-
|
|
26
|
-
## Data Generated
|
|
27
|
-
|
|
28
|
-
In addition to the [default data collected by all plugins](/overview/plugins#data-collected-by-all-plugins), this plugin collects the following data for each trial.
|
|
29
|
-
|
|
30
|
-
| Name | Type | Value |
|
|
31
|
-
| --------- | ------- | ---------------------------------------- |
|
|
32
|
-
| stimulus | string | Either the path to the image file or the string containing the HTML formatted content that the subject saw on this trial. |
|
|
33
|
-
| response | string | Indicates which key the subject pressed. |
|
|
34
|
-
| rt | numeric | The response time in milliseconds for the subject to make a response. The time is measured from when the stimulus first appears on the screen until the subject's response. |
|
|
35
|
-
| correct | boolean | `true` if the subject got the correct answer, `false` otherwise. |
|
|
36
|
-
|
|
37
|
-
## Examples
|
|
38
|
-
|
|
39
|
-
#### Categorizing HTML content
|
|
40
|
-
|
|
41
|
-
```javascript
|
|
42
|
-
var categorization_trial = {
|
|
43
|
-
type: 'categorize',
|
|
44
|
-
stimulus: '<p>B</p>',
|
|
45
|
-
key_answer: 'p',
|
|
46
|
-
text_answer: 'letter',
|
|
47
|
-
choices: ['p', 'q'],
|
|
48
|
-
correct_text: "<p class='prompt'>Correct, this is a %ANS%.</p>",
|
|
49
|
-
incorrect_text: "<p class='prompt'>Incorrect, this is a %ANS%.</p>",
|
|
50
|
-
prompt: "<p>Press p for letter. Press q for number.</p>"
|
|
51
|
-
};
|
|
52
|
-
```
|
|
53
|
-
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# jspsych-categorize-image
|
|
2
|
-
|
|
3
|
-
The categorize image plugin shows an image object on the screen. The subject responds by pressing a key. Feedback indicating the correctness of the response is given.
|
|
4
|
-
|
|
5
|
-
## Parameters
|
|
6
|
-
|
|
7
|
-
In addition to the [parameters available in all plugins](/overview/plugins#parameters-available-in-all-plugins), this plugin accepts the following parameters. Parameters with a default value of *undefined* must be specified. Other parameters can be left unspecified if the default value is acceptable.
|
|
8
|
-
|
|
9
|
-
| Parameter | Type | Default Value | Description |
|
|
10
|
-
| -------------------------- | ---------------- | ------------------------ | ---------------------------------------- |
|
|
11
|
-
| stimulus | string | *undefined* | The path to the image file. |
|
|
12
|
-
| key_answer | string | *undefined* | The key character indicating the correct response. |
|
|
13
|
-
| choices | array of strings | `jsPsych.ALL_KEYS` | This array contains the key(s) that the subject is allowed to press in order to respond to the stimulus. Keys should be specified as characters (e.g., `'a'`, `'q'`, `' '`, `'Enter'`, `'ArrowDown'`) - see [this page](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values) and [this page (event.key column)](https://www.freecodecamp.org/news/javascript-keycode-list-keypress-event-key-codes/) for more examples. Any key presses that are not listed in the array will be ignored. The default value of `jsPsych.ALL_KEYS` means that all keys will be accepted as valid responses. Specifying `jsPsych.NO_KEYS` will mean that no responses are allowed. |
|
|
14
|
-
| text_answer | string | "" | A label that is associated with the correct answer. Used in conjunction with the `correct_text` and `incorrect_text` parameters. |
|
|
15
|
-
| correct_text | string | "Correct." | String to show when the correct answer is given. Can contain HTML formatting. The special string `%ANS%` can be used within the string. If present, the plugin will put the `text_answer` for the trial in place of the %ANS% string (see example below). |
|
|
16
|
-
| incorrect_text | string | "Wrong." | String to show when the wrong answer is given. Can contain HTML formatting. The special string `%ANS%` can be used within the string. If present, the plugin will put the `text_answer` for the trial in place of the %ANS% string (see example below). |
|
|
17
|
-
| prompt | string | null | This string can contain HTML markup. Any content here will be displayed below the stimulus. The intention is that it can be used to provide a reminder about the action the subject is supposed to take (e.g., which key to press). |
|
|
18
|
-
| force_correct_button_press | boolean | false | If set to true, then the subject must press the correct response key after feedback is given in order to advance to the next trial. |
|
|
19
|
-
| show_stim_with_feedback | boolean | true | If set to true, then the stimulus will be shown during feedback. If false, then only the text feedback will display during feedback. |
|
|
20
|
-
| show_feedback_on_timeout | boolean | false | If true, then category feedback will be displayed for an incorrect response after a timeout (trial_duration is exceeded). If false, then a timeout message will be shown. |
|
|
21
|
-
| timeout_message | string | "Please respond faster." | The message to show on a timeout non-response. |
|
|
22
|
-
| stimulus_duration | numeric | null | How long to show the stimulus for (milliseconds). If null, then the stimulus is shown until a response is given. |
|
|
23
|
-
| feedback_duration | numeric | 2000 | How long to show the feedback for (milliseconds). |
|
|
24
|
-
| trial_duration | numeric | null | The maximum time allowed for a response. If null, then the experiment will wait indefinitely for a response. |
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
## Data Generated
|
|
28
|
-
|
|
29
|
-
In addition to the [default data collected by all plugins](/overview/plugins#data-collected-by-all-plugins), this plugin collects the following data for each trial.
|
|
30
|
-
|
|
31
|
-
| Name | Type | Value |
|
|
32
|
-
| --------- | ------- | ---------------------------------------- |
|
|
33
|
-
| stimulus | string | Either the path to the image file or the string containing the HTML formatted content that the subject saw on this trial. |
|
|
34
|
-
| response | string | Indicates which key the subject pressed. |
|
|
35
|
-
| rt | numeric | The response time in milliseconds for the subject to make a response. The time is measured from when the stimulus first appears on the screen until the subject's response. |
|
|
36
|
-
| correct | boolean | `true` if the subject got the correct answer, `false` otherwise. |
|
|
37
|
-
|
|
38
|
-
## Examples
|
|
39
|
-
|
|
40
|
-
#### Categorizing an image
|
|
41
|
-
|
|
42
|
-
```javascript
|
|
43
|
-
var categorization_trial = {
|
|
44
|
-
type: 'categorize-image',
|
|
45
|
-
stimulus: 'img/harrypotter.png',
|
|
46
|
-
key_answer: 'g',
|
|
47
|
-
text_answer: 'Gryffindor',
|
|
48
|
-
choices: ['g', 'h', 'r', 's'],
|
|
49
|
-
correct_text: "<p class='prompt'>Correct! This person is a %ANS%.</p>",
|
|
50
|
-
incorrect_text: "<p class='prompt'>Incorrect. This person is a %ANS%.</p>",
|
|
51
|
-
prompt: "<p>Is this person a (G)ryffindor, (H)ufflepuff, (R)avenclaw, or (S)lytherin?</p>"
|
|
52
|
-
};
|
|
53
|
-
```
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# *jspsych-cloze
|
|
2
|
-
|
|
3
|
-
This plugin displays a text with certain words removed. Participants are asked to replace the missing items. Responses are recorded when clicking a button. Optionally, responses are evaluated and a function is called in case of differences, making it possible to inform participants about mistakes.
|
|
4
|
-
|
|
5
|
-
## Parameters
|
|
6
|
-
|
|
7
|
-
In addition to the [parameters available in all plugins](/overview/plugins#parameters-available-in-all-plugins), this plugin accepts the following parameters. Parameters with a default value of *undefined* must be specified. Other parameters can be left unspecified if the default value is acceptable.
|
|
8
|
-
|
|
9
|
-
| Parameter | Type | Default Value | Description |
|
|
10
|
-
| ------------- | -------- | ------------------ | ---------------------------------------- |
|
|
11
|
-
| text | string | *undefined* | The cloze text to be displayed. Blanks are indicated by %% signs and automatically replaced by input fields. If there is a correct answer you want the system to check against, it must be typed between the two percentage signs (i.e. % correct solution %). |
|
|
12
|
-
| button_text | string | OK | Text of the button participants have to press for finishing the cloze test. |
|
|
13
|
-
| check_answers | boolean | false | Boolean value indicating if the answers given by participants should be compared against a correct solution given in the text (between % signs) after the button was clicked. If ```true```, answers are checked and in case of differences, the ```mistake_fn``` is called. In this case, the trial does not automatically finish. If ```false```, no checks are performed and the trial automatically ends when clicking the button. |
|
|
14
|
-
| mistake_fn | function | ```function(){}``` | Function called if ```check_answers``` is set to ```true``` and there is a difference between the participants answers and the correct solution provided in the text. |
|
|
15
|
-
|
|
16
|
-
## Data Generated
|
|
17
|
-
|
|
18
|
-
In addition to the [default data collected by all plugins](/overview/plugins#data-collected-by-all-plugins), this plugin collects the following data for each trial.
|
|
19
|
-
|
|
20
|
-
| Name | Type | Value |
|
|
21
|
-
| -------- | ---------------- | --------------------------- |
|
|
22
|
-
| response | array of strings | Answers the partcipant gave |
|
|
23
|
-
|
|
24
|
-
## Examples
|
|
25
|
-
|
|
26
|
-
#### Simple cloze using default settings (no check against correct solution, no custom button text)
|
|
27
|
-
|
|
28
|
-
```javascript
|
|
29
|
-
var trial = {
|
|
30
|
-
type: 'cloze',
|
|
31
|
-
text: 'The %% is the largest terrestrial mammal. It lives in both %% and %%.'
|
|
32
|
-
};
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
#### More elaborate example (with check against correct solution, custom error handling and modified button text)
|
|
36
|
-
|
|
37
|
-
```javascript
|
|
38
|
-
var trial = {
|
|
39
|
-
type: 'cloze',
|
|
40
|
-
text: 'A rectangle has % 4 % corners and a triangle has % 3 %.',
|
|
41
|
-
check_answers: true,
|
|
42
|
-
button_text: 'Next',
|
|
43
|
-
mistake_fn: function(){alert("Wrong answer. Please check again.")}
|
|
44
|
-
};
|
|
45
|
-
```
|