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,58 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<script src="../jspsych.js"></script>
|
|
5
|
-
<script src="../plugins/jspsych-rdk.js"></script>
|
|
6
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
7
|
-
</head>
|
|
8
|
-
<body></body>
|
|
9
|
-
<script>
|
|
10
|
-
|
|
11
|
-
/*
|
|
12
|
-
We would appreciate it if you cited this paper when you use the RDK:
|
|
13
|
-
Rajananda, S., Lau, H. & Odegaard, B., (2018). A Random-Dot Kinematogram for Web-Based Vision Research. Journal of Open Research Software. 6(1), p.6. DOI: [http://doi.org/10.5334/jors.194]
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
//---------Create trials---------
|
|
18
|
-
|
|
19
|
-
//Create an array of 2 different trials (different conditions)
|
|
20
|
-
var RDK_trials = [
|
|
21
|
-
{//Condition 1
|
|
22
|
-
correct_choice: 'a', //The correct answer for Condition 1
|
|
23
|
-
coherent_direction: 180 //The coherent direction for Condition 1 (dots move left)
|
|
24
|
-
},
|
|
25
|
-
{//Condition 2
|
|
26
|
-
correct_choice: 'l', //The correct answer for Condition 2
|
|
27
|
-
coherent_direction: 0 //The coherent direction for Condition 2 (dots move right)
|
|
28
|
-
},
|
|
29
|
-
];
|
|
30
|
-
|
|
31
|
-
//The test block where all the trials are nested. The properties here will trickle down to all trials in the timeline unless they have their own properties defined
|
|
32
|
-
var test_block = {
|
|
33
|
-
type: "rdk",
|
|
34
|
-
post_trial_gap: 500, //The Inter Trial Interval. You can either have no ITI, or have an ITI but change the display element to be the same color as the stimuli background to prevent flashing between trials
|
|
35
|
-
number_of_dots: 200, //Total number of dots in each aperture
|
|
36
|
-
RDK_type: 3, //The type of RDK used
|
|
37
|
-
choices: ['a', 'l'], //Choices available to be keyed in by participant
|
|
38
|
-
trial_duration: 1000, //Duration of each trial in ms
|
|
39
|
-
timeline: RDK_trials, //The timeline of all the trials
|
|
40
|
-
background_color: "white",
|
|
41
|
-
dot_color: "black"
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
//---------Run the experiment---------
|
|
48
|
-
|
|
49
|
-
//Initiate the experiment
|
|
50
|
-
jsPsych.init({
|
|
51
|
-
timeline: [test_block],
|
|
52
|
-
on_finish: function(){ //Execute this when the experiment finishes
|
|
53
|
-
jsPsych.data.displayData(); //Display the data onto the browser screen
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
</script>
|
|
58
|
-
</html>
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<script src="../jspsych.js"></script>
|
|
5
|
-
<script src="../plugins/jspsych-animation.js"></script>
|
|
6
|
-
<script src="../plugins/jspsych-preload.js"></script>
|
|
7
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
8
|
-
</head>
|
|
9
|
-
<body></body>
|
|
10
|
-
<script>
|
|
11
|
-
|
|
12
|
-
var preload_trial = {
|
|
13
|
-
type: 'preload',
|
|
14
|
-
auto_preload: true
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// If render_on_canvas is false, the images will be shown via an <img> rather than <canvas> element.
|
|
18
|
-
// In some browsers, the first time the images are shown, the <img> method (render_on_canvas: false) will produce a brief
|
|
19
|
-
// blank screen (white flash) between images when frame_isi is 0.
|
|
20
|
-
var animation_trial = {
|
|
21
|
-
type: 'animation',
|
|
22
|
-
stimuli: ['img/happy_face_1.jpg', 'img/happy_face_2.jpg', 'img/happy_face_3.jpg', 'img/happy_face_4.jpg'],
|
|
23
|
-
sequence_reps: 3,
|
|
24
|
-
frame_time: 300,
|
|
25
|
-
prompt: '<p>Watch the faces.</p>',
|
|
26
|
-
//render_on_canvas: false
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
jsPsych.init({
|
|
31
|
-
timeline: [preload_trial, animation_trial],
|
|
32
|
-
on_finish: function() {
|
|
33
|
-
jsPsych.data.displayData();
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
</script>
|
|
38
|
-
|
|
39
|
-
</html>
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<script src="../jspsych.js"></script>
|
|
5
|
-
<script src="../plugins/jspsych-audio-button-response.js"></script>
|
|
6
|
-
<script src="../plugins/jspsych-html-button-response.js"></script>
|
|
7
|
-
<script src="../plugins/jspsych-preload.js"></script>
|
|
8
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
9
|
-
</head>
|
|
10
|
-
<body></body>
|
|
11
|
-
<script>
|
|
12
|
-
|
|
13
|
-
var timeline = [];
|
|
14
|
-
|
|
15
|
-
timeline.push({
|
|
16
|
-
type: 'preload',
|
|
17
|
-
auto_preload: true
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
timeline.push({
|
|
21
|
-
type: 'html-button-response',
|
|
22
|
-
stimulus: '<div style="max-width:600px;"><p>Some browsers now require the user to interact with a page before it can play audio. '+
|
|
23
|
-
'Clicking the button below counts as an interaction.</p><p>Be aware of this when planning audio experiments if '+
|
|
24
|
-
'you want the first trial to include audio.</p></div>',
|
|
25
|
-
choices: ['Continue']
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
timeline.push({
|
|
29
|
-
type: 'audio-button-response',
|
|
30
|
-
stimulus: 'sound/speech_green.mp3',
|
|
31
|
-
choices: ['Green', 'Blue', 'Red'],
|
|
32
|
-
prompt: "<p>What word was said?</p>"
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
timeline.push({
|
|
36
|
-
type: 'audio-button-response',
|
|
37
|
-
stimulus: 'sound/speech_red.mp3',
|
|
38
|
-
choices: ['#00ff00', '#0000ff', '#ff0000'],
|
|
39
|
-
response_allowed_while_playing: false,
|
|
40
|
-
button_html: '<div style="background-color: %choice%; width:100px; height:100px;"></div>',
|
|
41
|
-
prompt: "<p>Which color was said?</p>"
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
timeline.push({
|
|
45
|
-
type: 'audio-button-response',
|
|
46
|
-
stimulus: 'sound/speech_joke.mp3',
|
|
47
|
-
choices: ['Not funny', 'Funny'],
|
|
48
|
-
prompt: '<p>Is the joke funny?</p><p>When the audio stops, click a button to end the trial.</p><p>Response buttons are disabled while the audio is playing.</p>',
|
|
49
|
-
response_allowed_while_playing: false
|
|
50
|
-
})
|
|
51
|
-
|
|
52
|
-
jsPsych.init({
|
|
53
|
-
timeline: timeline,
|
|
54
|
-
on_finish: function(){jsPsych.data.displayData();}
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
</script>
|
|
58
|
-
</html>
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<script src="../jspsych.js"></script>
|
|
5
|
-
<script src="../plugins/jspsych-audio-keyboard-response.js"></script>
|
|
6
|
-
<script src="../plugins/jspsych-html-button-response.js"></script>
|
|
7
|
-
<script src="../plugins/jspsych-preload.js"></script>
|
|
8
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
9
|
-
</head>
|
|
10
|
-
<body></body>
|
|
11
|
-
<script>
|
|
12
|
-
|
|
13
|
-
var preload = {
|
|
14
|
-
type: 'preload',
|
|
15
|
-
auto_preload: true
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
var pre_audio = {
|
|
19
|
-
type: 'html-button-response',
|
|
20
|
-
stimulus: '<div style="max-width:600px;"><p>Some browsers now require the user to interact with a page before it can play audio. '+
|
|
21
|
-
'Clicking the button below counts as an interaction.</p><p>Be aware of this when planning audio experiments if '+
|
|
22
|
-
'you want the first trial to include audio.</p></div>',
|
|
23
|
-
choices: ['Continue']
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
var trial_1 = {
|
|
27
|
-
type: 'audio-keyboard-response',
|
|
28
|
-
stimulus: 'sound/speech_blue.mp3',
|
|
29
|
-
choices: ['y', 'n'],
|
|
30
|
-
prompt: '<div style="width: 300px; height: 300px; background-color: #0000ff; display: inline-block;"></div>'+
|
|
31
|
-
'<p>Does the color match the word? (y or n)</p>'
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
var trial_2 = {
|
|
35
|
-
type: 'audio-keyboard-response',
|
|
36
|
-
stimulus: 'sound/speech_green.mp3',
|
|
37
|
-
choices: ['y', 'n'],
|
|
38
|
-
trial_duration: 5000,
|
|
39
|
-
prompt: '<div style="width: 300px; height: 300px; background-color: #ff0000; display: inline-block;"></div>'+
|
|
40
|
-
'<p>Does the color match the word? (y or n; 5s time limit)</p>'
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
var trial_3 = {
|
|
44
|
-
type: 'audio-keyboard-response',
|
|
45
|
-
stimulus: 'sound/speech_red.mp3',
|
|
46
|
-
choices: jsPsych.NO_KEYS,
|
|
47
|
-
trial_duration: 2000,
|
|
48
|
-
prompt: '<p>No response allowed. 2s wait.</p>'
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
trial_4 = {
|
|
52
|
-
type: 'audio-keyboard-response',
|
|
53
|
-
stimulus: 'sound/speech_joke.mp3',
|
|
54
|
-
choices: jsPsych.ALL_KEYS,
|
|
55
|
-
prompt: '<p>When the audio stops, press any key to end the trial.</p><p>Responses made while the audio is still playing will be ignored.</p>',
|
|
56
|
-
response_allowed_while_playing: false
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
jsPsych.init({
|
|
60
|
-
timeline: [preload, pre_audio, trial_1, trial_2, trial_3, trial_4],
|
|
61
|
-
on_finish: function() {
|
|
62
|
-
jsPsych.data.displayData();
|
|
63
|
-
},
|
|
64
|
-
default_iti: 250
|
|
65
|
-
});
|
|
66
|
-
</script>
|
|
67
|
-
|
|
68
|
-
</html>
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<script src="../jspsych.js"></script>
|
|
5
|
-
<script src="../plugins/jspsych-audio-slider-response.js"></script>
|
|
6
|
-
<script src="../plugins/jspsych-html-button-response.js"></script>
|
|
7
|
-
<script src="../plugins/jspsych-preload.js"></script>
|
|
8
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
9
|
-
</head>
|
|
10
|
-
<body></body>
|
|
11
|
-
<script>
|
|
12
|
-
|
|
13
|
-
var preload = {
|
|
14
|
-
type: 'preload',
|
|
15
|
-
auto_preload: true
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
var pre_audio = {
|
|
19
|
-
type: 'html-button-response',
|
|
20
|
-
stimulus: '<div style="max-width:600px;"><p>Some browsers now require the user to interact with a page before it can play audio. '+
|
|
21
|
-
'Clicking the button below counts as an interaction.</p><p>Be aware of this when planning audio experiments if '+
|
|
22
|
-
'you want the first trial to include audio.</p></div>',
|
|
23
|
-
choices: ['Continue']
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
var trial_1 = {
|
|
27
|
-
type: 'audio-slider-response',
|
|
28
|
-
stimulus: 'sound/speech_joke.mp3',
|
|
29
|
-
labels: ['Not Funny', 'Funny'],
|
|
30
|
-
slider_width: 500,
|
|
31
|
-
prompt: '<p>How funny is the joke?</p>'
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
var trial_2 = {
|
|
35
|
-
type: 'audio-slider-response',
|
|
36
|
-
stimulus: 'sound/speech_red.mp3',
|
|
37
|
-
labels: ['Hate it', 'It"s OK', 'Love it'],
|
|
38
|
-
slider_width: 500,
|
|
39
|
-
prompt: '<p>How much do you like this color?</p><p>Slider movement is required, so you must interact with (click) the slider before you can continue.</p>',
|
|
40
|
-
require_movement: true
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
var trial_3 = {
|
|
44
|
-
type: 'audio-slider-response',
|
|
45
|
-
stimulus: 'sound/hammer.mp3',
|
|
46
|
-
labels: ['Unpleasant', 'OK', 'Very pleasant'],
|
|
47
|
-
slider_width: 500,
|
|
48
|
-
prompt: '<p>How pleasant was this sound?</p><p>The slider will be enabled after the audio ends.</p>',
|
|
49
|
-
response_allowed_while_playing: false
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
jsPsych.init({
|
|
53
|
-
timeline: [preload, pre_audio, trial_1, trial_2, trial_3],
|
|
54
|
-
on_finish: function() {
|
|
55
|
-
jsPsych.data.displayData();
|
|
56
|
-
},
|
|
57
|
-
default_iti: 250
|
|
58
|
-
});
|
|
59
|
-
</script>
|
|
60
|
-
|
|
61
|
-
</html>
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<script src="../jspsych.js"></script>
|
|
5
|
-
<script src="../plugins/jspsych-call-function.js"></script>
|
|
6
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
7
|
-
</head>
|
|
8
|
-
<body></body>
|
|
9
|
-
<script>
|
|
10
|
-
|
|
11
|
-
var trial = {
|
|
12
|
-
type: 'call-function',
|
|
13
|
-
func: function(){ return Date.now(); }
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
// this is to check if the plugin specific default for post_trial_gap works.
|
|
17
|
-
// if it does, then the return values should be nearly identical.
|
|
18
|
-
var next_trial = {
|
|
19
|
-
type: 'call-function',
|
|
20
|
-
func: function(){ return Date.now(); }
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
jsPsych.init({
|
|
25
|
-
timeline: [trial, next_trial],
|
|
26
|
-
on_finish: function(){ jsPsych.data.displayData(); },
|
|
27
|
-
default_iti: 1000
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
</script>
|
|
32
|
-
</html>
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<script src="../jspsych.js"></script>
|
|
5
|
-
<script src="../plugins/jspsych-canvas-button-response.js"></script>
|
|
6
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
7
|
-
</head>
|
|
8
|
-
<body></body>
|
|
9
|
-
<script>
|
|
10
|
-
|
|
11
|
-
// stimulus function that takes the canvas and additional parameters (radius, color)
|
|
12
|
-
// this can be called inside of an anonymous stimulus function, which takes the canvas (c) as its only argument
|
|
13
|
-
function filledCirc(canvas, radius, color) {
|
|
14
|
-
var ctx = canvas.getContext("2d");
|
|
15
|
-
ctx.beginPath();
|
|
16
|
-
ctx.arc(250, 250, radius, 0, 2 * Math.PI);
|
|
17
|
-
ctx.fillStyle = color;
|
|
18
|
-
ctx.fill();
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
var circle_1 = {
|
|
22
|
-
type: 'canvas-button-response',
|
|
23
|
-
stimulus: function(c) {
|
|
24
|
-
filledCirc(c, 100, 'blue');
|
|
25
|
-
},
|
|
26
|
-
choices: ['Red', 'Green', 'Blue'],
|
|
27
|
-
prompt: '<p>What color is the circle?</p>',
|
|
28
|
-
data: {color: 'blue', radius: 100}
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
var circle_2 = {
|
|
32
|
-
type: 'canvas-button-response',
|
|
33
|
-
stimulus: function(c) {
|
|
34
|
-
filledCirc(c, 150, 'green');
|
|
35
|
-
},
|
|
36
|
-
choices: ['Larger', 'Smaller'],
|
|
37
|
-
stimulus_duration: 1000,
|
|
38
|
-
prompt: '<p>Is this circle larger or smaller than the last one?</p>'+
|
|
39
|
-
'<p>Stimulus will be hidden after 1 second.</p>',
|
|
40
|
-
data: {color: 'green', radius: 150}
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
// write the canvas stimulus drawing function without using a named function
|
|
44
|
-
// the anonymous function must take the canvas as an argument
|
|
45
|
-
var lines = {
|
|
46
|
-
type: 'canvas-button-response',
|
|
47
|
-
stimulus: function(c) {
|
|
48
|
-
var ctx = c.getContext("2d");
|
|
49
|
-
// first line
|
|
50
|
-
ctx.beginPath();
|
|
51
|
-
ctx.moveTo(300, 10);
|
|
52
|
-
ctx.lineTo(300, 300);
|
|
53
|
-
ctx.lineWidth = 10;
|
|
54
|
-
ctx.strokeStyle = 'MediumBlue';
|
|
55
|
-
ctx.stroke();
|
|
56
|
-
// second line
|
|
57
|
-
ctx.beginPath();
|
|
58
|
-
ctx.moveTo(20, 200);
|
|
59
|
-
ctx.lineTo(100, 350);
|
|
60
|
-
ctx.lineWidth = 10;
|
|
61
|
-
ctx.strokeStyle = 'MediumPurple';
|
|
62
|
-
ctx.stroke();
|
|
63
|
-
},
|
|
64
|
-
choices: ['Blue line', 'Purple line'],
|
|
65
|
-
prompt: '<p>Which line is longer?</p>',
|
|
66
|
-
data: {line1_color: 'blue', line1_length: 290, line2_color: "purple", line2_length: 170}
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
// to use the canvas stimulus function with timeline variables,
|
|
70
|
-
// the jsPsych.timelineVariable() function can be used inside your stimulus function
|
|
71
|
-
var circle_procedure = {
|
|
72
|
-
timeline: [{
|
|
73
|
-
type: 'canvas-button-response',
|
|
74
|
-
stimulus: function(c) {
|
|
75
|
-
filledCirc(c, jsPsych.timelineVariable('radius'), jsPsych.timelineVariable('color'));
|
|
76
|
-
},
|
|
77
|
-
choices: ['Red', 'Green', 'Blue'],
|
|
78
|
-
prompt: '<p>What color is the circle?</p>',
|
|
79
|
-
data: {radius: jsPsych.timelineVariable('radius'), color: jsPsych.timelineVariable('color')}
|
|
80
|
-
}],
|
|
81
|
-
timeline_variables: [
|
|
82
|
-
{radius: 100, color: 'red'},
|
|
83
|
-
{radius: 200, color: 'green'},
|
|
84
|
-
{radius: 50, color: 'blue'}
|
|
85
|
-
]
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
jsPsych.init({
|
|
89
|
-
timeline: [circle_1, circle_2, lines, circle_procedure],
|
|
90
|
-
on_finish: function () {
|
|
91
|
-
jsPsych.data.displayData();
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
</script>
|
|
95
|
-
</html>
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<script src="../jspsych.js"></script>
|
|
5
|
-
<script src="../plugins/jspsych-canvas-keyboard-response.js"></script>
|
|
6
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
7
|
-
</head>
|
|
8
|
-
<body></body>
|
|
9
|
-
<script>
|
|
10
|
-
|
|
11
|
-
// stimulus functions that take the canvas as its only argument
|
|
12
|
-
// these function names can be used as the value for the stimulus parameter
|
|
13
|
-
function drawRect(c){
|
|
14
|
-
var ctx = c.getContext('2d');
|
|
15
|
-
ctx.beginPath();
|
|
16
|
-
ctx.rect(150, 225, 200, 50);
|
|
17
|
-
ctx.stroke();
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
function drawCirc(c) {
|
|
21
|
-
var ctx = c.getContext('2d');
|
|
22
|
-
ctx.beginPath();
|
|
23
|
-
ctx.arc(250, 250, 200, 0, 2 * Math.PI);
|
|
24
|
-
ctx.stroke();
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
var trial_1 = {
|
|
28
|
-
type: 'canvas-keyboard-response',
|
|
29
|
-
stimulus: drawRect,
|
|
30
|
-
choices: ['e','i'],
|
|
31
|
-
prompt: '<p>Is this a circle or a rectangle? Press "e" for circle and "i" for rectangle.</p>',
|
|
32
|
-
data: {shape: 'rectangle'}
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
var trial_2 = {
|
|
36
|
-
type: 'canvas-keyboard-response',
|
|
37
|
-
stimulus: drawCirc,
|
|
38
|
-
choices: ['e','i'],
|
|
39
|
-
prompt: '<p>Is this a circle or a rectangle? Press "e" for circle and "i" for rectangle.</p>',
|
|
40
|
-
data: {shape: 'circle'}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
// to use the canvas stimulus function with timeline variables,
|
|
44
|
-
// the jsPsych.timelineVariable() function can be used inside your stimulus function
|
|
45
|
-
var trial_procedure = {
|
|
46
|
-
timeline: [{
|
|
47
|
-
type: 'canvas-keyboard-response',
|
|
48
|
-
stimulus: function(c) {
|
|
49
|
-
var ctx = c.getContext('2d');
|
|
50
|
-
ctx.beginPath();
|
|
51
|
-
ctx.fillStyle = jsPsych.timelineVariable('color');
|
|
52
|
-
ctx.fillRect(
|
|
53
|
-
jsPsych.timelineVariable('upper_left_x'),
|
|
54
|
-
jsPsych.timelineVariable('upper_left_y'),
|
|
55
|
-
jsPsych.timelineVariable('width'),
|
|
56
|
-
jsPsych.timelineVariable('height')
|
|
57
|
-
);
|
|
58
|
-
ctx.stroke();
|
|
59
|
-
},
|
|
60
|
-
choices: ['r','b'],
|
|
61
|
-
prompt: '<p>What color is the rectangle? Press "r" for red and "b" for blue.</p>',
|
|
62
|
-
data: {color: jsPsych.timelineVariable('color')}
|
|
63
|
-
}],
|
|
64
|
-
timeline_variables: [
|
|
65
|
-
{upper_left_x: 150, upper_left_y: 100, height: 100, width: 150, color: 'red'},
|
|
66
|
-
{upper_left_x: 270, upper_left_y: 200, height: 300, width: 200, color: 'blue'},
|
|
67
|
-
{upper_left_x: 150, upper_left_y: 130, height: 200, width: 50, color: 'blue'}
|
|
68
|
-
]
|
|
69
|
-
};
|
|
70
|
-
|
|
71
|
-
jsPsych.init({
|
|
72
|
-
timeline: [trial_1, trial_2, trial_procedure],
|
|
73
|
-
on_finish: function () {
|
|
74
|
-
jsPsych.data.displayData();
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
</script>
|
|
78
|
-
</html>
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<script src="../jspsych.js"></script>
|
|
5
|
-
<script src="../plugins/jspsych-canvas-slider-response.js"></script>
|
|
6
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
7
|
-
</head>
|
|
8
|
-
<body></body>
|
|
9
|
-
<script>
|
|
10
|
-
|
|
11
|
-
var colors;
|
|
12
|
-
|
|
13
|
-
// stimulus function that takes the canvas as its only argument
|
|
14
|
-
// this function name can be used as the value for the stimulus parameter
|
|
15
|
-
function twoSquares(c) {
|
|
16
|
-
var ctx = c.getContext('2d');
|
|
17
|
-
ctx.fillStyle = '#FF3333';
|
|
18
|
-
ctx.fillRect(200, 70, 40, 40);
|
|
19
|
-
ctx.fillStyle = '#FF6A33';
|
|
20
|
-
ctx.fillRect(260, 70, 40, 40);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
var trial_1 = {
|
|
24
|
-
type: 'canvas-slider-response',
|
|
25
|
-
stimulus: twoSquares,
|
|
26
|
-
labels: ['0','10'],
|
|
27
|
-
canvas_size: [200, 500],
|
|
28
|
-
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>',
|
|
29
|
-
data: {color1: '#FF3333', color2: '#FF6A33'}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
// stimulus function that takes the canvas and additional parameters
|
|
33
|
-
// this can be called inside of an anonymous stimulus function, which takes the canvas as its only argument
|
|
34
|
-
function twoSquaresColors(c, colors) {
|
|
35
|
-
var ctx = c.getContext('2d');
|
|
36
|
-
ctx.fillStyle = colors[0];
|
|
37
|
-
ctx.fillRect(200, 70, 40, 40);
|
|
38
|
-
ctx.fillStyle = colors[1];
|
|
39
|
-
ctx.fillRect(260, 70, 40, 40);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
var trial_2 = {
|
|
43
|
-
type: 'canvas-slider-response',
|
|
44
|
-
stimulus: function(c) {
|
|
45
|
-
colors = ['darkred', 'cyan'];
|
|
46
|
-
twoSquaresColors(c, colors);
|
|
47
|
-
},
|
|
48
|
-
labels: ['Exactly<br>the same','Totally<br>different'],
|
|
49
|
-
canvas_size: [200, 500],
|
|
50
|
-
require_movement: true,
|
|
51
|
-
stimulus_duration: 1000,
|
|
52
|
-
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>'+
|
|
53
|
-
'<p>Interaction with the slider is required to continue. Stimulus will be hidden after 1 second.</p>',
|
|
54
|
-
on_finish: function(data) {
|
|
55
|
-
data.color1 = colors[0];
|
|
56
|
-
data.color2 = colors[1];
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
jsPsych.init({
|
|
61
|
-
timeline: [trial_1, trial_2],
|
|
62
|
-
on_finish: function () {
|
|
63
|
-
jsPsych.data.displayData();
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
</script>
|
|
67
|
-
</html>
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<script src="../jspsych.js"></script>
|
|
6
|
-
<script src="../plugins/jspsych-categorize-animation.js"></script>
|
|
7
|
-
<script src="../plugins/jspsych-preload.js"></script>
|
|
8
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
9
|
-
<style>
|
|
10
|
-
#jspsych-categorize-animation-stimulus {
|
|
11
|
-
width: 300px;
|
|
12
|
-
height: 225px;
|
|
13
|
-
}
|
|
14
|
-
</style>
|
|
15
|
-
</head>
|
|
16
|
-
<body></body>
|
|
17
|
-
<script>
|
|
18
|
-
|
|
19
|
-
var preload = {
|
|
20
|
-
type: 'preload',
|
|
21
|
-
auto_preload: true
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// If render_on_canvas is false, the images will be shown via an <img> rather than <canvas> element.
|
|
25
|
-
// In some browsers, the first time the images are shown, the <img> method (render_on_canvas: false) will produce a brief
|
|
26
|
-
// blank screen (white flash) between images.
|
|
27
|
-
var trials = {
|
|
28
|
-
type: 'categorize-animation',
|
|
29
|
-
stimuli: ['img/happy_face_1.jpg', 'img/sad_face_3.jpg'],
|
|
30
|
-
key_answer: 'd',
|
|
31
|
-
choices: ['d', 's'],
|
|
32
|
-
text_answer: 'different',
|
|
33
|
-
feedback_duration: 1000,
|
|
34
|
-
correct_text: "<p>Correct. The faces had %ANS% expressions.</p>",
|
|
35
|
-
incorrect_text: "<p>Incorrect. The faces had %ANS% expressions.</p>",
|
|
36
|
-
prompt: "<p>Press "d" if the faces had different emotional expressions. Press "s" if the faces had the same emotional expression.</p>",
|
|
37
|
-
//render_on_canvas: false
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
jsPsych.init({
|
|
41
|
-
timeline: [preload, trials],
|
|
42
|
-
on_finish: function() {
|
|
43
|
-
jsPsych.data.displayData();
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
</script>
|
|
48
|
-
|
|
49
|
-
</html>
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<script src="../jspsych.js"></script>
|
|
6
|
-
<script src="../plugins/jspsych-categorize-html.js"></script>
|
|
7
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
8
|
-
</head>
|
|
9
|
-
<body></body>
|
|
10
|
-
<script>
|
|
11
|
-
var trial = {
|
|
12
|
-
type: 'categorize-html',
|
|
13
|
-
stimulus: '<div style="margin: auto; width: 200px; height: 200px; background-color: blue;"></div>',
|
|
14
|
-
key_answer: 'b',
|
|
15
|
-
choices: ['b', 'p'],
|
|
16
|
-
text_answer: 'blue',
|
|
17
|
-
correct_text: "<p>Correct. This color is %ANS%.</p>",
|
|
18
|
-
incorrect_text: "<p>Incorrect. This color is %ANS%. Please press the correct key to continue.</p>",
|
|
19
|
-
prompt: "<p>Press "b" if the square is blue. Press "p" if the square is purple.</p>",
|
|
20
|
-
trial_duration: 1500,
|
|
21
|
-
show_feedback_on_timeout: false,
|
|
22
|
-
force_correct_button_press: true
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
jsPsych.init({
|
|
26
|
-
timeline: [trial],
|
|
27
|
-
on_finish: function() {
|
|
28
|
-
jsPsych.data.displayData();
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
</script>
|
|
32
|
-
|
|
33
|
-
</html>
|