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,70 +0,0 @@
|
|
|
1
|
-
# jspsych-external-html plugin
|
|
2
|
-
|
|
3
|
-
The HTML plugin displays an external HTML document (often a consent form). Either a keyboard response or a button press can be used to continue to the next trial. It allows the experimenter to check if conditions are met (such as indicating informed consent) before continuing.
|
|
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
|
-
| url | string | *undefined* | The URL of the page to display. |
|
|
12
|
-
| cont_key | string | null | The key character the subject can use to advance to the next trial. If left as null, then the subject will not be able to advance trials using the keyboard. |
|
|
13
|
-
| cont_btn | string | null | The ID of a clickable element on the page. When the element is clicked, the trial will advance. |
|
|
14
|
-
| check_fn | function | `function(){ return true; }` | This function is called with the jsPsych `display_element` as the only argument when the subject attempts to advance the trial. The trial will only advance if the function return `true`. This can be used to verify that the subject has correctly filled out a form before continuing, for example. |
|
|
15
|
-
| force_refresh | boolean | false | If `true`, then the plugin will avoid using the cached version of the HTML page to load if one exists. |
|
|
16
|
-
| execute_script | boolean | false | If `true`, then scripts on the remote page will be executed. |
|
|
17
|
-
|
|
18
|
-
## Data Generated
|
|
19
|
-
|
|
20
|
-
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.
|
|
21
|
-
|
|
22
|
-
| Name | Type | Value |
|
|
23
|
-
| ---- | ------- | ---------------------------------------- |
|
|
24
|
-
| url | string | The URL of the page. |
|
|
25
|
-
| rt | numeric | The response time in milliseconds for the subject to finish the trial. |
|
|
26
|
-
|
|
27
|
-
## Examples
|
|
28
|
-
|
|
29
|
-
### Loading a consent form
|
|
30
|
-
|
|
31
|
-
##### This content would be in a file called 'external_page.html'
|
|
32
|
-
```html
|
|
33
|
-
<div id="consent">
|
|
34
|
-
<p>
|
|
35
|
-
This is a demo experiment, with this minimal consent form being loaded
|
|
36
|
-
as an external html document. To continue, click the checkbox below
|
|
37
|
-
and hit "Start Experiment".
|
|
38
|
-
</p>
|
|
39
|
-
<p>
|
|
40
|
-
<input type="checkbox" id="consent_checkbox" />
|
|
41
|
-
I agree to take part in this study.
|
|
42
|
-
</p>
|
|
43
|
-
<button type="button" id="start">Start Experiment</button>
|
|
44
|
-
</div>
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
##### jsPsych code to load above page.
|
|
48
|
-
```javascript
|
|
49
|
-
// sample function that might be used to check if a subject has given
|
|
50
|
-
// consent to participate.
|
|
51
|
-
var check_consent = function(elem) {
|
|
52
|
-
if (document.getElementById('consent_checkbox').checked) {
|
|
53
|
-
return true;
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
alert("If you wish to participate, you must check the box next to the statement 'I agree to participate in this study.'");
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
return false;
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
// declare the block.
|
|
64
|
-
var trial = {
|
|
65
|
-
type:'external-html',
|
|
66
|
-
url: "external_page.html",
|
|
67
|
-
cont_btn: "start",
|
|
68
|
-
check_fn: check_consent
|
|
69
|
-
};
|
|
70
|
-
```
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
# jspsych-free-sort plugin
|
|
2
|
-
|
|
3
|
-
The free-sort plugin displays one or more images on the screen that the participant can interact with by clicking and dragging with a mouse, or touching and dragging with a touchscreen device. When the trial starts, the images can be positioned outside or inside the sort area. All images must be moved into the sorting area before the participant can click a button to end the trial. All of the moves that the participant performs are recorded, as well as the final positions of all images. This plugin could be useful when asking participants to position images based on similarity to one another, or to recall image spatial locations.
|
|
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 this array is an image path.
|
|
12
|
-
stim_height | numeric | 100 | The height of the images in pixels.
|
|
13
|
-
stim_width | numeric | 100 | The width of the images in pixels.
|
|
14
|
-
scale_factor | numeric | 1.5 | How much larger to make the stimulus while moving (1 = no scaling).
|
|
15
|
-
sort_area_height | numeric | 800 | The height of the container that participants can move the stimuli in. Stimuli will be constrained to this area.
|
|
16
|
-
sort_area_width | numeric | 800 | The width of the container that participants can move the stimuli in. Stimuli will be constrained to this area.
|
|
17
|
-
sort_area_shape | string | "ellipse" | The shape of the sorting area, can be "ellipse" or "square".
|
|
18
|
-
prompt | string | null | This string can contain HTML markup. The intention is that it can be used to provide a reminder about the action the participant is supposed to take (e.g., which key to press).
|
|
19
|
-
prompt_location | string | "above" | Indicates whether to show the prompt `"above"` or `"below"` the sorting area.
|
|
20
|
-
button_label | string | 'Continue' | The text that appears on the button to continue to the next trial.
|
|
21
|
-
change_border_background_color | boolean | true | If `true`, the sort area border color will change while items are being moved in and out of the sort area, and the background color will change once all items have been moved into the sort area. If `false`, the border will remain black and the background will remain white throughout the trial.
|
|
22
|
-
border_color_in | string | '#a1d99b' | If `change_border_background_color` is `true`, the sort area border will change to this color when an item is being moved into the sort area, and the background will change to this color when all of the items have been moved into the sort area.
|
|
23
|
-
border_color_out | string | '#fc9272' | If `change_border_background_color` is `true`, this will be the color of the sort area border when there are one or more items that still need to be moved into the sort area.
|
|
24
|
-
border_width | numeric | null | The width in pixels of the border around the sort area. If `null`, the border width will be 3% of the `sort_area_height`.
|
|
25
|
-
counter_text_unfinished | string | You still need to place %n% item%s% inside the sort area. | Text to display when there are one or more items that still need to be placed in the sort area. If "%n%" is included in the string, it will be replaced with the number of items that still need to be moved inside. If "%s%" is included in the string, a "s" will be included when the number of items remaining is greater than one.
|
|
26
|
-
counter_text_finished | string | All items placed. Feel free to reposition items if necessary. | Text that will take the place of the counter_text_unfinished text when all items have been moved inside the sort area.
|
|
27
|
-
stim_starts_inside | boolean | false | If `false`, the images will be positioned to the left and right of the sort area when the trial loads. If `true`, the images will be positioned at random locations inside the sort area when the trial loads.
|
|
28
|
-
column_spread_factor | numeric | 1 | When the images appear outside the sort area, this determines the x-axis spread of the image columns. Default value is 1. Values less than 1 will compress the image columns along the x-axis, and values greater than 1 will spread them farther apart.
|
|
29
|
-
|
|
30
|
-
## Data Generated
|
|
31
|
-
|
|
32
|
-
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.
|
|
33
|
-
|
|
34
|
-
Name | Type | Value
|
|
35
|
-
-----|------|------
|
|
36
|
-
init_locations | array | An array containing objects representing the initial locations of all the stimuli in the sorting area. Each element in the array represents a stimulus, and has a "src", "x", and "y" value. "src" is the image path, and "x" and "y" are the object location. This will be encoded as a JSON string when data is saved using the `.json()` or `.csv()` functions.
|
|
37
|
-
moves | array | An array containing objects representing all of the moves the participant made when sorting. Each object represents a move. Each element in the array has a "src", "x", and "y" value. "src" is the image path, and "x" and "y" are the object location after the move. This will be encoded as a JSON string when data is saved using the `.json()` or `.csv()` functions.
|
|
38
|
-
final_locations | array | An array containing objects representing the final locations of all the stimuli in the sorting area. Each element in the array represents a stimulus, and has a "src", "x", and "y" value. "src" is the image path, and "x" and "y" are the object location. This will be encoded as a JSON string when data is saved using the `.json()` or `.csv()` functions.
|
|
39
|
-
rt | numeric | The response time in milliseconds for the participant to finish all sorting.
|
|
40
|
-
|
|
41
|
-
## Examples
|
|
42
|
-
|
|
43
|
-
#### Basic example
|
|
44
|
-
|
|
45
|
-
```javascript
|
|
46
|
-
var sorting_stimuli = [];
|
|
47
|
-
for (var i = 1; i <= 12; i++) {
|
|
48
|
-
sorting_stimuli.push("img/cell_img_" + i + ".jpg");
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
var sort_trial = {
|
|
52
|
-
type: 'free-sort',
|
|
53
|
-
stimuli: sorting_stimuli,
|
|
54
|
-
prompt: "<p>Click and drag the images below to sort them so that similar items are close together.</p>"
|
|
55
|
-
};
|
|
56
|
-
```
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
# jspsych-fullscreen plugin
|
|
2
|
-
|
|
3
|
-
The fullscreen plugin allows the experiment to enter or exit fullscreen mode. For security reasons, all browsers require that entry into fullscreen mode is triggered by a user action. To enter fullscreen mode, this plugin has the user click a button. Exiting fullscreen mode can be done without user input.
|
|
4
|
-
|
|
5
|
-
Safari does not support keyboard input when the browser is in fullscreen mode. Therefore, the function will not launch fullscreen mode on Safari. The experiment will ignore any trials using the fullscreen plugin in Safari.
|
|
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
|
-
fullscreen_mode | boolean | `true` | A value of `true` causes the experiment to enter fullscreen mode. A value of `false` causes the browser to exit fullscreen mode.
|
|
14
|
-
message | string | `<p>The experiment will switch to full screen mode when you press the button below</p>` | The HTML content to display above the button to enter fullscreen mode.
|
|
15
|
-
button_label | string | 'Continue' | The text that appears on the button to enter fullscreen mode.
|
|
16
|
-
delay_after | numeric | 1000 | The length of time to delay after entering fullscreen mode before ending the trial. This can be useful because entering fullscreen is jarring and most browsers display some kind of message that the browser has entered fullscreen mode.
|
|
17
|
-
|
|
18
|
-
## Data Generated
|
|
19
|
-
|
|
20
|
-
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.
|
|
21
|
-
|
|
22
|
-
Name | Type | Value
|
|
23
|
-
-----|------|------
|
|
24
|
-
success | boolean | true if the browser supports fullscreen mode (i.e., is not Safari)
|
|
25
|
-
|
|
26
|
-
## Examples
|
|
27
|
-
|
|
28
|
-
#### Entering and exiting fullscreen
|
|
29
|
-
|
|
30
|
-
```javascript
|
|
31
|
-
var timeline = [];
|
|
32
|
-
|
|
33
|
-
timeline.push({
|
|
34
|
-
type: 'fullscreen',
|
|
35
|
-
fullscreen_mode: true
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
timeline.push({
|
|
39
|
-
type: 'html-keyboard-response',
|
|
40
|
-
stimulus: 'This trial will be in fullscreen mode.'
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
// exit fullscreen mode
|
|
44
|
-
timeline.push({
|
|
45
|
-
type: 'fullscreen',
|
|
46
|
-
fullscreen_mode: false
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
timeline.push({
|
|
50
|
-
type: 'html-keyboard-response',
|
|
51
|
-
stimulus: 'This trial will NOT be in fullscreen mode.'
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
jsPsych.init({
|
|
55
|
-
timeline: timeline
|
|
56
|
-
});
|
|
57
|
-
```
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
# jspsych-html-button-response
|
|
2
|
-
|
|
3
|
-
This plugin displays HTML content and records responses generated by button click. 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. The button itself 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 | HTML string | undefined | The HTML content to be displayed.
|
|
12
|
-
choices | array of strings | [] | Labels for the buttons. Each different string in the array will generate a different button.
|
|
13
|
-
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.
|
|
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
|
-
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.
|
|
16
|
-
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.
|
|
17
|
-
margin_vertical | string | '0px' | Vertical margin of the button(s).
|
|
18
|
-
margin_horizontal | string | '8px' | Horizontal margin of the button(s).
|
|
19
|
-
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 view a stimulus for a fixed amount of time, even if they respond before the time is complete.
|
|
20
|
-
|
|
21
|
-
## Data Generated
|
|
22
|
-
|
|
23
|
-
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.
|
|
24
|
-
|
|
25
|
-
Name | Type | Value
|
|
26
|
-
-----|------|------
|
|
27
|
-
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.
|
|
28
|
-
response | numeric | Indicates which button the subject pressed. The first button in the `choices` array is 0, the second is 1, and so on.
|
|
29
|
-
stimulus | string | The HTML content that was displayed on the screen.
|
|
30
|
-
|
|
31
|
-
## Examples
|
|
32
|
-
|
|
33
|
-
#### Displaying question until subject gives a response
|
|
34
|
-
|
|
35
|
-
```javascript
|
|
36
|
-
var trial = {
|
|
37
|
-
type: 'html-button-response',
|
|
38
|
-
stimulus: '<p>Running</p>',
|
|
39
|
-
choices: ['Healthy', 'Unhealthy'],
|
|
40
|
-
prompt: "<p>Is this activity healthy or unhealthy?</p>"
|
|
41
|
-
};
|
|
42
|
-
```
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
# jspsych-html-keyboard-response
|
|
2
|
-
|
|
3
|
-
This plugin displays HTML content and records responses generated with the keyboard.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
|
-
|
|
6
|
-
## Parameters
|
|
7
|
-
|
|
8
|
-
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.
|
|
9
|
-
|
|
10
|
-
| Parameter | Type | Default Value | Description |
|
|
11
|
-
| ------------------- | ---------------- | ------------------ | ---------------------------------------- |
|
|
12
|
-
| stimulus | HTML string | *undefined* | The string to be displayed. |
|
|
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 set this parameter to `false` 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
|
-
| stimulus | string | The HTML content that was displayed on the screen. |
|
|
28
|
-
|
|
29
|
-
## Examples
|
|
30
|
-
|
|
31
|
-
#### Displaying trial until subject gives a response
|
|
32
|
-
|
|
33
|
-
```javascript
|
|
34
|
-
var trial = {
|
|
35
|
-
type: 'html-keyboard-response',
|
|
36
|
-
stimulus: '<p>Running</p>',
|
|
37
|
-
choices: ['e', 'i'],
|
|
38
|
-
prompt: "<p>Is this activity healthy or unhealthy? Press 'e' for healthy and 'i' for unhealthy.</p>"
|
|
39
|
-
};
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
#### Showing a 1 second fixation cross; no response allowed
|
|
43
|
-
|
|
44
|
-
```javascript
|
|
45
|
-
var trial = {
|
|
46
|
-
type: 'html-keyboard-response',
|
|
47
|
-
stimulus: '<p style="font-size: 48px;">+</p>',
|
|
48
|
-
choices: jsPsych.NO_KEYS,
|
|
49
|
-
trial_duration: 1000,
|
|
50
|
-
};
|
|
51
|
-
```
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# jspsych-html-slider-response
|
|
2
|
-
|
|
3
|
-
This plugin displays HTML content and allows the subject to respond by dragging a slider.
|
|
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 string to be displayed
|
|
12
|
-
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.
|
|
13
|
-
button_label | string | 'Continue' | Label of the button to end the trial.
|
|
14
|
-
min | integer | 0 | Sets the minimum value of the slider.
|
|
15
|
-
max | integer | 100 | Sets the maximum value of the slider.
|
|
16
|
-
slider_start | integer | 50 | Sets the starting value of the slider
|
|
17
|
-
step | integer | 1 | Sets the step of the slider. This is the smallest amount by which the slider can change.
|
|
18
|
-
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.
|
|
19
|
-
require_movement | boolean | false | If true, the subject must move the slider before clicking the continue button.
|
|
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
|
-
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.
|
|
22
|
-
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.
|
|
23
|
-
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 view a stimulus for a fixed amount of time, even if they respond before the time is complete.
|
|
24
|
-
|
|
25
|
-
## Data Generated
|
|
26
|
-
|
|
27
|
-
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.
|
|
28
|
-
|
|
29
|
-
Name | Type | Value
|
|
30
|
-
-----|------|------
|
|
31
|
-
response | numeric | The numeric value of the slider.
|
|
32
|
-
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.
|
|
33
|
-
stimulus | string | The HTML content that was displayed on the screen.
|
|
34
|
-
slider_start | numeric | The starting value of the slider.
|
|
35
|
-
|
|
36
|
-
## Examples
|
|
37
|
-
|
|
38
|
-
```javascript
|
|
39
|
-
var trial = {
|
|
40
|
-
type: 'html-slider-response',
|
|
41
|
-
stimulus: '<p>Running</p>',
|
|
42
|
-
labels: ['healthy', 'unhealthy'],
|
|
43
|
-
prompt: "<p>How healthy/unhealthy is this activity?</p>"
|
|
44
|
-
};
|
|
45
|
-
```
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
# jspsych-iat-html plugin
|
|
2
|
-
|
|
3
|
-
This plugin runs a single trial of the [implicit association test (IAT)](https://implicit.harvard.edu/implicit/iatdetails.html), using HTML content as the stimulus.
|
|
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 HTML-formatted stimulus to display. |
|
|
12
|
-
| html_when_wrong | string | `<span style="color: red; font-size: 80px">X</span>` | The content to display when a user presses the wrong key. |
|
|
13
|
-
| bottom_instructions | string | `<p>If you press the wrong key, a red X will appear. Press any key to continue.</p>` | Instructions about making a wrong key press and whether another key press is needed to continue. |
|
|
14
|
-
| force_correct_key_press | boolean | false | If this is `true` and the user presses the wrong key then they have to press the other key to continue. An example would be two keys 'e' and 'i'. If the key associated with the stimulus is 'e' and key 'i' was pressed, then pressing 'e' is needed to continue the trial. When this is `true`, then parameter `key_to_move_forward` is not used. |
|
|
15
|
-
| display_feedback | boolean | false | If `true`, then `html_when_wrong` and `wrong_image_name` is required. If `false`, `trial_duration` is needed and trial will continue automatically. |
|
|
16
|
-
| left_category_key | string | 'e' | Key press that is associated with the `left_category_label`. |
|
|
17
|
-
| right_category_key | string | 'i' | Key press that is associated with the `right_category_label`. |
|
|
18
|
-
| left_category_label | string | ['left'] | An array that contains the words/labels associated with a certain stimulus. The labels are aligned to the left side of the page. |
|
|
19
|
-
| right_category_label | string | ['right'] | An array that contains the words/labels associated with a certain stimulus. The labels are aligned to the right side of the page. |
|
|
20
|
-
| stim_key_association | string | *undefined* | Either 'left' or 'right'. This indicates whether the stimulus is associated with the key press and category on the left or right side of the page (`left_category_key` or `right_category_key`). |
|
|
21
|
-
| key_to_move_forward | array of strings | jsPsych.ALL_KEYS | This array contains the characters the subject is allowed to press to move on to the next trial if their key press was incorrect and feedback was displayed. Can also have 'other key' as an option which will only allow the user to select the right key to move forward. |
|
|
22
|
-
| 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. |
|
|
23
|
-
| 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. |
|
|
24
|
-
|
|
25
|
-
## Data Generated
|
|
26
|
-
|
|
27
|
-
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.
|
|
28
|
-
|
|
29
|
-
| Name | Type | Value |
|
|
30
|
-
| --------- | ------- | ---------------------------------------- |
|
|
31
|
-
| stimulus | string | Either the path to the image file or the string containing the HTML-formatted content that the subject saw on this trial. |
|
|
32
|
-
| response | string | Indicates which key the subject pressed. |
|
|
33
|
-
| 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. |
|
|
34
|
-
| correct | boolean | Boolean indicating whether the user's key press was correct or incorrect for the given stimulus. |
|
|
35
|
-
|
|
36
|
-
## Examples
|
|
37
|
-
|
|
38
|
-
```javascript
|
|
39
|
-
var trial_block = {
|
|
40
|
-
type: 'iat-html',
|
|
41
|
-
stimulus: 'Golf',
|
|
42
|
-
stim_key_association: 'left',
|
|
43
|
-
html_when_wrong: '<span style="color: red; font-size: 80px">X</span>',
|
|
44
|
-
bottom_instructions: '<p>If you press the wrong key, a red X will appear. Press the other key to continue</p>',
|
|
45
|
-
force_correct_key_press: true,
|
|
46
|
-
display_feedback: true,
|
|
47
|
-
trial_duration: 3000, //Only if display_feedback is false
|
|
48
|
-
left_category_key: 'e',
|
|
49
|
-
right_category_key: 'i',
|
|
50
|
-
left_category_label: ['OLD'],
|
|
51
|
-
right_category_label: ['YOUNG'],
|
|
52
|
-
response_ends_trial: true
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
var timeline = [];
|
|
56
|
-
timeline.push(trial_block);
|
|
57
|
-
|
|
58
|
-
jsPsych.init({
|
|
59
|
-
timeline: timeline,
|
|
60
|
-
on_finish: function() {
|
|
61
|
-
jsPsych.data.displayData();
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
```
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
jspsych-iat-image plugin
|
|
2
|
-
|
|
3
|
-
This plugin runs a single trial of the [implicit association test (IAT)](https://implicit.harvard.edu/implicit/iatdetails.html), using an image as the stimulus.
|
|
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 stimulus to display. The path to an image. |
|
|
12
|
-
| html_when_wrong | string | `<span style="color: red; font-size: 80px">X</span>` | The HTML to display when a user presses the wrong key. |
|
|
13
|
-
| bottom_instructions | string | `<p>If you press the wrong key, a red X will appear. Press any key to continue.</p>` | Instructions about making a wrong key press and whether another key press is needed to continue. |
|
|
14
|
-
| force_correct_key_press | boolean | false | If this is `true` and the user presses the wrong key then they have to press the other key to continue. An example would be two keys 'e' and 'i'. If the key associated with the stimulus is 'e' and key 'i' was pressed, then pressing 'e' is needed to continue the trial. When this is `true`, then parameter `key_to_move_forward` is not used. |
|
|
15
|
-
| display_feedback | boolean | false | If `true`, then `image_when_wrong` and `wrong_image_name` are required. If `false`, `trial_duration` is needed and trial will continue automatically. |
|
|
16
|
-
| left_category_key | string | 'e' | Key press that is associated with the `left_category_label`. |
|
|
17
|
-
| right_category_key | string | 'i' | Key press that is associated with the `right_category_label`. |
|
|
18
|
-
| left_category_label | string | ['left'] | An array that contains the words/labels associated with a certain stimulus. The labels are aligned to the left side of the page. |
|
|
19
|
-
| right_category_label | string | ['right'] | An array that contains the words/labels associated with a certain stimulus. The labels are aligned to the right side of the page. |
|
|
20
|
-
| stim_key_association | string | 'undefined' | Either 'left' or 'right'. This indicates whether the stimulus is associated with the key press and category on the left or right side of the page (`left_category_key` or `right_category_key`). |
|
|
21
|
-
| key_to_move_forward | array of characters | jsPsych.ALL_KEYS | This array contains the characters the subject is allowed to press to move on to the next trial if their key press was incorrect and feedback was displayed. Can also have 'other key' as an option which will only allow the user to select the right key to move forward. |
|
|
22
|
-
| 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. |
|
|
23
|
-
| 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. |
|
|
24
|
-
|
|
25
|
-
## Data Generated
|
|
26
|
-
|
|
27
|
-
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.
|
|
28
|
-
|
|
29
|
-
| Name | Type | Value |
|
|
30
|
-
| --------- | ------- | ---------------------------------------- |
|
|
31
|
-
| stimulus | string | Either the path to the image file or the string containing the HTML-formatted content that the subject saw on this trial. |
|
|
32
|
-
| response | string | Indicates which key the subject pressed. |
|
|
33
|
-
| 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. |
|
|
34
|
-
| correct | boolean | Boolean indicating whether the user's key press was correct or incorrect for the given image. |
|
|
35
|
-
|
|
36
|
-
## Examples
|
|
37
|
-
|
|
38
|
-
```javascript
|
|
39
|
-
var trial_block = {
|
|
40
|
-
type: 'iat-image',
|
|
41
|
-
stimulus: 'img/blue.png',
|
|
42
|
-
stim_key_association: 'left',
|
|
43
|
-
html_when_wrong: '<span style="color: red; font-size: 80px">X</span>',
|
|
44
|
-
bottom_instructions: '<p>If you press the wrong key, a red X will appear. Press the other key to continue</p>',
|
|
45
|
-
force_correct_key_press: true,
|
|
46
|
-
display_feedback: true,
|
|
47
|
-
trial_duration: 3000, //Only if display_feedback is false
|
|
48
|
-
left_category_key: 'e',
|
|
49
|
-
right_category_key: 'i',
|
|
50
|
-
left_category_label: ['OLD'],
|
|
51
|
-
right_category_label: ['YOUNG'],
|
|
52
|
-
response_ends_trial: true
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
var timeline = [];
|
|
56
|
-
timeline.push(trial_block);
|
|
57
|
-
|
|
58
|
-
jsPsych.init({
|
|
59
|
-
timeline: timeline,
|
|
60
|
-
on_finish: function() {
|
|
61
|
-
jsPsych.data.displayData();
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
```
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
# jspsych-image-button-response
|
|
2
|
-
|
|
3
|
-
This plugin displays an image and records responses generated with a button click. 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. The button itself can be customized using HTML formatting.
|
|
4
|
-
|
|
5
|
-
Image 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 image stimulus, you will need to [manually preload](/overview/media-preloading/#manual-preloading) the images.
|
|
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
|
-
stimulus | string | undefined | The path of the image file to be displayed.
|
|
14
|
-
stimulus_height | integer | null | Set the height of the image in pixels. If left null (no value specified), then the image will display at its natural height.
|
|
15
|
-
stimulus_width | integer | null | Set the width of the image in pixels. If left null (no value specified), then the image will display at its natural width.
|
|
16
|
-
maintain_aspect_ration | boolean | true | If setting *only* the width or *only* the height and this parameter is true, then the other dimension will be scaled to maintain the image's aspect ratio.
|
|
17
|
-
choices | array of strings | [] | Labels for the buttons. Each different string in the array will generate a different button.
|
|
18
|
-
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.
|
|
19
|
-
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).
|
|
20
|
-
stimulus_duration | numeric | null | How long to show the stimulus for in milliseconds. If the value is null, then the stimulus will be shown until the subject makes a response.
|
|
21
|
-
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.
|
|
22
|
-
margin_vertical | string | '0px' | Vertical margin of the button(s).
|
|
23
|
-
margin_horizontal | string | '8px' | Horizontal margin of the button(s).
|
|
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 set this parameter to `false` to force the subject to view a stimulus for a fixed amount of time, even if they respond before the time is complete.
|
|
25
|
-
render_on_canvas | boolean | true | If true, the image will be drawn onto a canvas element. This prevents a blank screen (white flash) between consecutive image trials in some browsers, like Firefox and Edge. If false, the image will be shown via an img element, as in previous versions of jsPsych.
|
|
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
|
-
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.
|
|
34
|
-
response | numeric | Indicates which button the subject pressed. The first button in the `choices` array is 0, the second is 1, and so on.
|
|
35
|
-
stimulus | string | The path of the image that was displayed.
|
|
36
|
-
|
|
37
|
-
## Examples
|
|
38
|
-
|
|
39
|
-
#### Displaying question until subject gives a response
|
|
40
|
-
|
|
41
|
-
```javascript
|
|
42
|
-
var trial = {
|
|
43
|
-
type: 'image-button-response',
|
|
44
|
-
stimulus: 'img/happy_face_1.png',
|
|
45
|
-
choices: ['Happy', 'Sad'],
|
|
46
|
-
prompt: "<p>Is this person happy or sad?</p>"
|
|
47
|
-
};
|
|
48
|
-
```
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
# jspsych-image-keyboard-response
|
|
2
|
-
|
|
3
|
-
This plugin displays and image and records responses generated with the keyboard. 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
|
-
Image 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 image stimulus, you will need to [manually preload](/overview/media-preloading/#manual-preloading) the images.
|
|
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
|
-
| stimulus | string | *undefined* | The path of the image file to be displayed. |
|
|
14
|
-
| stimulus_height | integer | null | Set the height of the image in pixels. If left null (no value specified), then the image will display at its natural height. |
|
|
15
|
-
| stimulus_width | integer | null | Set the width of the image in pixels. If left null (no value specified), then the image will display at its natural width. |
|
|
16
|
-
| maintain_aspect_ratio | boolean | true | If setting *only* the width or *only* the height and this parameter is true, then the other dimension will be scaled to maintain the image's aspect ratio. |
|
|
17
|
-
| 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. |
|
|
18
|
-
| 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). |
|
|
19
|
-
| stimulus_duration | numeric | null | How long to show the stimulus for in milliseconds. If the value is `null`, then the stimulus will be shown until the subject makes a response. |
|
|
20
|
-
| 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. |
|
|
21
|
-
| 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 view a stimulus for a fixed amount of time, even if they respond before the time is complete. |
|
|
22
|
-
| render_on_canvas | boolean | true | If `true`, the image will be drawn onto a canvas element. This prevents a blank screen (white flash) between consecutive image trials 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
|
-
| response | string | Indicates which key the subject pressed. |
|
|
31
|
-
| 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. |
|
|
32
|
-
| stimulus | string | The path of the image that was displayed. |
|
|
33
|
-
|
|
34
|
-
## Examples
|
|
35
|
-
|
|
36
|
-
#### Displaying trial until subject gives a response
|
|
37
|
-
|
|
38
|
-
```javascript
|
|
39
|
-
var trial = {
|
|
40
|
-
type: 'image-keyboard-response',
|
|
41
|
-
stimulus: 'img/happy_face_1.png',
|
|
42
|
-
choices: ['e', 'i'],
|
|
43
|
-
prompt: "<p>Is this person happy or sad? Press 'e' for happy and 'i' for sad.</p>",
|
|
44
|
-
response_ends_trial: false
|
|
45
|
-
};
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
#### Displaying image for a fixed duration; no response allowed
|
|
49
|
-
|
|
50
|
-
```javascript
|
|
51
|
-
var trial = {
|
|
52
|
-
type: 'image-button-response',
|
|
53
|
-
stimulus: 'img/happy_face_1.png',
|
|
54
|
-
choices: jsPsych.NO_KEYS,
|
|
55
|
-
prompt: "<p>Study this face for 5 seconds.</p>",
|
|
56
|
-
trial_duration: 5000
|
|
57
|
-
};
|
|
58
|
-
```
|