jspsych 6.3.1 → 7.1.2
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 +3171 -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 +3165 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +3159 -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 +136 -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 +165 -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 -719
- package/docs/core_library/jspsych-data.md +0 -587
- package/docs/core_library/jspsych-pluginAPI.md +0 -624
- package/docs/core_library/jspsych-randomization.md +0 -389
- package/docs/core_library/jspsych-turk.md +0 -98
- package/docs/extensions/extensions.md +0 -83
- package/docs/extensions/jspsych-ext-webgazer.md +0 -137
- 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 -180
- 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 -271
- 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 -61
- package/docs/plugins/jspsych-webgazer-init-camera.md +0 -30
- package/docs/plugins/jspsych-webgazer-validate.md +0 -44
- 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/ridgeWorker.mjs +0 -135
- package/examples/js/webgazer/webgazer.js +0 -88909
- package/examples/js/webgazer/worker_scripts/mat.js +0 -306
- package/examples/js/webgazer/worker_scripts/util.js +0 -398
- 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 -174
- package/examples/webgazer_audio.html +0 -90
- package/examples/webgazer_image.html +0 -60
- package/extensions/jspsych-ext-webgazer.js +0 -265
- package/jspsych.js +0 -3023
- 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 -209
- 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 -161
- package/plugins/jspsych-webgazer-init-camera.js +0 -139
- package/plugins/jspsych-webgazer-validate.js +0 -314
- 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 -365
- 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,85 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<script src="../jspsych.js"></script>
|
|
5
|
-
<script src="../plugins/jspsych-image-keyboard-response.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
|
-
// all images are used in standard trials that can be automatically preloaded (as well as being used in trials
|
|
13
|
-
// that use timeline variables), so we can preload all image files with the auto_preload option
|
|
14
|
-
var preload = {
|
|
15
|
-
type: 'preload',
|
|
16
|
-
auto_preload: true
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
// If render_on_canvas is false, the images will be shown via an <img> rather than <canvas> element.
|
|
20
|
-
// In some browsers, the first time the images are shown, the <img> method (render_on_canvas: false) will produce a brief
|
|
21
|
-
// blank screen (white flash) between images that are presented consecutively with no post_trial_gap between them.
|
|
22
|
-
var trial = {
|
|
23
|
-
type: 'image-keyboard-response',
|
|
24
|
-
stimulus: jsPsych.timelineVariable('stim'),
|
|
25
|
-
trial_duration: 300,
|
|
26
|
-
choices: jsPsych.NO_KEYS,
|
|
27
|
-
prompt: '<p>Watch the faces.</p>',
|
|
28
|
-
stimulus_width: 400,
|
|
29
|
-
maintain_aspect_ratio: true,
|
|
30
|
-
post_trial_gap: 0,
|
|
31
|
-
//render_on_canvas: false
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
var trial_proc = {
|
|
35
|
-
timeline: [trial],
|
|
36
|
-
timeline_variables: [
|
|
37
|
-
{stim: 'img/happy_face_1.jpg'},
|
|
38
|
-
{stim: 'img/happy_face_2.jpg'},
|
|
39
|
-
{stim: 'img/happy_face_3.jpg'},
|
|
40
|
-
{stim: 'img/happy_face_4.jpg'}
|
|
41
|
-
],
|
|
42
|
-
repetitions: 3
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
var trial_1 = {
|
|
46
|
-
type: 'image-keyboard-response',
|
|
47
|
-
stimulus: 'img/happy_face_1.jpg',
|
|
48
|
-
choices: ['y','n'],
|
|
49
|
-
prompt: '<p>Have you seen this face before? Press y or n.</p>'
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
var trial_2 = {
|
|
53
|
-
type: 'image-keyboard-response',
|
|
54
|
-
stimulus: 'img/happy_face_2.jpg',
|
|
55
|
-
choices: ['y','n'],
|
|
56
|
-
trial_duration: 5000,
|
|
57
|
-
prompt: '<p>Have you seen this face before? Press y or n. (5s time limit).</p>'
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
var trial_3 = {
|
|
61
|
-
type: 'image-keyboard-response',
|
|
62
|
-
stimulus: 'img/happy_face_3.jpg',
|
|
63
|
-
choices: jsPsych.NO_KEYS,
|
|
64
|
-
trial_duration: 2000,
|
|
65
|
-
prompt: '<p>No response allowed. 2s wait.</p>'
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
var trial_4 = {
|
|
69
|
-
type: 'image-keyboard-response',
|
|
70
|
-
stimulus: 'img/happy_face_4.jpg',
|
|
71
|
-
choices: ['y','n'],
|
|
72
|
-
stimulus_width: 400,
|
|
73
|
-
maintain_aspect_ratio: false,
|
|
74
|
-
prompt: '<p>Have you seen this face before? Press y or n.</p><p>(Stimulus_width set to a smaller value and maintain_aspect_ratio set to false.)</p>'
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
jsPsych.init({
|
|
78
|
-
timeline: [preload, trial_proc, trial_1, trial_2, trial_3, trial_4],
|
|
79
|
-
on_finish: function() {
|
|
80
|
-
jsPsych.data.displayData();
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
</script>
|
|
84
|
-
|
|
85
|
-
</html>
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<script src="../jspsych.js"></script>
|
|
5
|
-
<script src="../plugins/jspsych-image-slider-response.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
|
-
// three images are used in a standard way in image-* plugins and can therefore be automatically preloaded.
|
|
13
|
-
// there's one additional image ('img/happy_face_4.jpg') that is only used in timeline variables
|
|
14
|
-
// and will not be automatically preloaded, so this file must be preloaded manually.
|
|
15
|
-
var preload = {
|
|
16
|
-
type: 'preload',
|
|
17
|
-
auto_preload: true,
|
|
18
|
-
images: ['img/happy_face_4.jpg']
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
// If render_on_canvas is false, the images will be shown via an <img> rather than <canvas> element.
|
|
22
|
-
// In some browsers, the first time the images are shown, the <img> method (render_on_canvas: false) will produce a brief
|
|
23
|
-
// blank screen (white flash) between images that are presented consecutively with no post_trial_gap between them.
|
|
24
|
-
var trial = {
|
|
25
|
-
type: 'image-slider-response',
|
|
26
|
-
stimulus: jsPsych.timelineVariable('stim'),
|
|
27
|
-
trial_duration: 1000,
|
|
28
|
-
labels: ['1 (least happy)', '100 (most happy)'],
|
|
29
|
-
prompt: '<p>How happy is this person on a scale of 1-100?</p><p>(Consecutive images with no post_trial_gap)</p>',
|
|
30
|
-
response_ends_trial: false,
|
|
31
|
-
slider_width: 500,
|
|
32
|
-
stimulus_width: 400,
|
|
33
|
-
maintain_aspect_ratio: true,
|
|
34
|
-
post_trial_gap: 0,
|
|
35
|
-
//render_on_canvas: false
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
var trial_proc = {
|
|
39
|
-
timeline: [trial],
|
|
40
|
-
timeline_variables: [
|
|
41
|
-
{stim: 'img/happy_face_1.jpg'},
|
|
42
|
-
{stim: 'img/happy_face_2.jpg'},
|
|
43
|
-
{stim: 'img/happy_face_3.jpg'},
|
|
44
|
-
{stim: 'img/happy_face_4.jpg'}
|
|
45
|
-
]
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
var trial_1 = {
|
|
49
|
-
type: 'image-slider-response',
|
|
50
|
-
stimulus: 'img/happy_face_1.jpg',
|
|
51
|
-
labels: ['1 (least happy)', '100 (most happy)'],
|
|
52
|
-
slider_width: 500,
|
|
53
|
-
require_movement: true,
|
|
54
|
-
prompt: '<p>How happy is this person on a scale of 1-100? (Interaction with slider is required)</p>'
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
var trial_2 = {
|
|
58
|
-
type: 'image-slider-response',
|
|
59
|
-
stimulus: 'img/happy_face_2.jpg',
|
|
60
|
-
labels: ['1 (least happy)', '100 (most happy)'],
|
|
61
|
-
slider_start: 80,
|
|
62
|
-
slider_width: 500,
|
|
63
|
-
prompt: '<p>How happy is this person on a scale of 1-100? (5s time limit; set start value)</p>',
|
|
64
|
-
trial_duration: 5000
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
var trial_3 = {
|
|
68
|
-
type: 'image-slider-response',
|
|
69
|
-
stimulus: 'img/happy_face_3.jpg',
|
|
70
|
-
labels: ['1 (least happy)', '100 (most happy)'],
|
|
71
|
-
slider_width: 500,
|
|
72
|
-
prompt: '<p>How happy is this person on a scale of 1-100? (1s stimulus duration)</p>',
|
|
73
|
-
stimulus_duration: 1000
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
jsPsych.init({
|
|
77
|
-
timeline: [preload, trial_proc, trial_1, trial_2, trial_3],
|
|
78
|
-
on_finish: function() {
|
|
79
|
-
jsPsych.data.displayData();
|
|
80
|
-
},
|
|
81
|
-
default_iti: 250
|
|
82
|
-
});
|
|
83
|
-
</script>
|
|
84
|
-
|
|
85
|
-
</html>
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<script src="../jspsych.js"></script>
|
|
5
|
-
<script src="../plugins/jspsych-instructions.js"></script>
|
|
6
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
7
|
-
</head>
|
|
8
|
-
<body></body>
|
|
9
|
-
<script>
|
|
10
|
-
|
|
11
|
-
var trial_1 = {
|
|
12
|
-
type: 'instructions',
|
|
13
|
-
pages: ['<p>Welcome to the experiment.</p><p>This is the first set of instructions.</p><p>Click next to begin.</p>',
|
|
14
|
-
'<p>This is the second page of instructions.</p>',
|
|
15
|
-
'<p>This is the final page.</p>'],
|
|
16
|
-
show_clickable_nav: true
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
var trial_2 = {
|
|
20
|
-
type: 'instructions',
|
|
21
|
-
pages: ['<p>This is a new set of instructions.</p><p>Custom "Page X/Y" and next/previous button labels provide support for different languages.</p>',
|
|
22
|
-
'<p>This is the second page of instructions.</p>',
|
|
23
|
-
'<p>This is the final page.</p>'],
|
|
24
|
-
show_clickable_nav: true,
|
|
25
|
-
show_page_number: true,
|
|
26
|
-
button_label_previous: 'Anterior',
|
|
27
|
-
button_label_next: 'Próxima',
|
|
28
|
-
page_label: 'Página',
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
jsPsych.init({
|
|
32
|
-
timeline: [trial_1, trial_2],
|
|
33
|
-
on_finish: function(){ jsPsych.data.displayData(); }
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
</script>
|
|
37
|
-
</html>
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<script src="../jspsych.js"></script>
|
|
5
|
-
<script src="../plugins/jspsych-maxdiff.js"></script>
|
|
6
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
7
|
-
</head>
|
|
8
|
-
<body></body>
|
|
9
|
-
<script>
|
|
10
|
-
|
|
11
|
-
var maxdiff_trial = {
|
|
12
|
-
type: 'maxdiff',
|
|
13
|
-
alternatives: ['apple', 'orange', 'pear', 'banana'],
|
|
14
|
-
labels: ['Most Preferred', 'Least Preferred'],
|
|
15
|
-
preamble: '<p> Please select your <b>most preferred</b> and <b>least preferred</b> fruits. </p>'
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
var maxdiff_trial_random_required = {
|
|
19
|
-
type: 'maxdiff',
|
|
20
|
-
alternatives: ['strawberry', 'watermelon', 'kiwi', 'grapefruit'],
|
|
21
|
-
labels: ['Most Preferred', 'Least Preferred'],
|
|
22
|
-
preamble: '<p> Please select your <b>most preferred</b> and <b>least preferred</b> fruits. </p>',
|
|
23
|
-
randomize_alternative_order: true,
|
|
24
|
-
required: true
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
jsPsych.init({
|
|
28
|
-
timeline: [maxdiff_trial, maxdiff_trial_random_required],
|
|
29
|
-
on_finish: function() { jsPsych.data.displayData(); }
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
</script>
|
|
33
|
-
</html>
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<script src="../jspsych.js"></script>
|
|
5
|
-
<script src="../plugins/jspsych-preload.js"></script>
|
|
6
|
-
<script src="../plugins/jspsych-html-button-response.js"></script>
|
|
7
|
-
<script src="../plugins/jspsych-image-button-response.js"></script>
|
|
8
|
-
<script src="../plugins/jspsych-audio-button-response.js"></script>
|
|
9
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
10
|
-
</head>
|
|
11
|
-
<body></body>
|
|
12
|
-
<script>
|
|
13
|
-
|
|
14
|
-
// all preload files will print information to the console about file loading success/failure
|
|
15
|
-
// through the on_error and on_success trial parameters
|
|
16
|
-
|
|
17
|
-
// automatically preload all stimuli files based on the timeline
|
|
18
|
-
var auto_preload_trial = {
|
|
19
|
-
type: 'preload',
|
|
20
|
-
auto_preload: true,
|
|
21
|
-
on_error: function(file) {
|
|
22
|
-
console.log('Error: ',file);
|
|
23
|
-
},
|
|
24
|
-
on_success: function(file) {
|
|
25
|
-
console.log('Loaded: ',file);
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
var start = {
|
|
30
|
-
type: 'html-button-response',
|
|
31
|
-
stimulus: '<p>The previous trial was an automatic preload trial.</p>'+
|
|
32
|
-
'<p>This trial loaded all stimuli files that can be automatically preloaded<br>based on the main jsPsych experiment timeline.</p>'+
|
|
33
|
-
'<p>In this example experiment, there are two trials in which the stimuli can be automatically preloaded.</p>'+
|
|
34
|
-
'<p>The stimuli for these trials have finished loading.</p>',
|
|
35
|
-
choices: ['Next']
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
var image_trial = {
|
|
39
|
-
type: 'image-button-response',
|
|
40
|
-
stimulus: 'img/happy_face_1.jpg',
|
|
41
|
-
choices: ['Happy', 'Sad'],
|
|
42
|
-
stimulus_width: 400
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
var audio_trial = {
|
|
46
|
-
type: 'audio-button-response',
|
|
47
|
-
stimulus: ['sound/speech_green.mp3'],
|
|
48
|
-
choices: ['Continue']
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
var start_fail_example_1 = {
|
|
52
|
-
type: 'html-button-response',
|
|
53
|
-
stimulus: '<p>The next trial is a manual preload trial.</p>'+
|
|
54
|
-
'<p>Manual preloading allows you to load specific files, for instance if you want to load files in batches,<br>'+
|
|
55
|
-
'or if the stimuli cannot be automatically preloaded (because you are using timeline variables or dynamic parameters).</p>'+
|
|
56
|
-
'<p>In the next preload example, the files in the <i>images</i> array do not exist, so the preload will fail.</p>'+
|
|
57
|
-
'<p>The <i>continue_after_error</i> parameter is set to <i>true</i>, so the experiment will continue despite the preload failure.</p>',
|
|
58
|
-
choices: ['Next']
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
// manually preload specific files
|
|
62
|
-
// continue with the experiment even if one or more files fails to load
|
|
63
|
-
var preload_fail_example_1 = {
|
|
64
|
-
type: 'preload',
|
|
65
|
-
images: ['BAD_IMAGE_NAME_1','BAD_IMAGE_NAME_2','BAD_IMAGE_NAME_3'],
|
|
66
|
-
audio: ['sound/speech_green.mp3','sound/speech_red.mp3'],
|
|
67
|
-
message: '<p>Please wait while the files load.</p>',
|
|
68
|
-
continue_after_error: true,
|
|
69
|
-
max_load_time: 4000,
|
|
70
|
-
on_error: function(file) {
|
|
71
|
-
console.log('Error: ',file);
|
|
72
|
-
},
|
|
73
|
-
on_success: function(file) {
|
|
74
|
-
console.log('Loaded: ',file);
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
var after_fail_example_1 = {
|
|
79
|
-
type: 'html-button-response',
|
|
80
|
-
stimulus: function() {
|
|
81
|
-
var message;
|
|
82
|
-
// if continue_after_error is true in your preload trial, then you can check the trial
|
|
83
|
-
// data to see if preloading was successful
|
|
84
|
-
var preload_trial_data = jsPsych.data.getLastTrialData().values()[0];
|
|
85
|
-
if (preload_trial_data.success) {
|
|
86
|
-
message = '<p>All files loaded successfully!</p>';
|
|
87
|
-
} else {
|
|
88
|
-
message = '<p>There was a problem loading one or more files.</p>'+
|
|
89
|
-
'<p>The files that failed to load are listed in the data for the previous trial.</p>';
|
|
90
|
-
}
|
|
91
|
-
return message;
|
|
92
|
-
},
|
|
93
|
-
choices: ['Next']
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
var start_fail_example_2 = {
|
|
97
|
-
type: 'html-button-response',
|
|
98
|
-
stimulus: '<p>The next trial is another manual preload trial.</p>'+
|
|
99
|
-
'<p>It has been set up with bad file names, so it will also fail.</p>'+
|
|
100
|
-
'<p>This time the <i>continue_after_error</i> parameter is set to <i>false</i>, so the experiment will stop with an error message.</p>'+
|
|
101
|
-
'<p>The next trial will also show details about the errors (<i>show_detailed_errors: true</i>).</p>',
|
|
102
|
-
choices: ['Next']
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
// manually preload specific files
|
|
106
|
-
// if loading fails, then stop with a detailed error message
|
|
107
|
-
var preload_fail_example_2 = {
|
|
108
|
-
type: 'preload',
|
|
109
|
-
images: ['img/happy_face_2.jpg','img/happy_face_3.jpg','img/sad_face_1.jpg','img/sad_face_2.jpg','img/sad_face_3.jpg','img/sad_face_4.jpg',
|
|
110
|
-
'img/1.gif','img/2.gif','img/3.gif','img/4.gif','img/5.gif','img/6.gif','img/7.gif','img/8.gif','img/9.gif','img/10.gif','img/11.gif','img/12.gif',
|
|
111
|
-
'BAD_IMAGE_NAME'],
|
|
112
|
-
audio: ['BAD_AUDIO_NAME'],
|
|
113
|
-
video: ['video/sample_video.mp4', 'BAD_VIDEO_NAME'], // videos will not be preloaded if HTML file is running locally (i.e. safe mode)
|
|
114
|
-
message: '<p>Please wait...</p>',
|
|
115
|
-
show_detailed_errors: true,
|
|
116
|
-
max_load_time: null,
|
|
117
|
-
post_trial_gap: 1000,
|
|
118
|
-
on_error: function(file) {
|
|
119
|
-
console.log('Error: ',file);
|
|
120
|
-
},
|
|
121
|
-
on_success: function(file) {
|
|
122
|
-
console.log('Loaded: ',file);
|
|
123
|
-
}
|
|
124
|
-
};
|
|
125
|
-
|
|
126
|
-
var after_fail_example_2 = {
|
|
127
|
-
type: 'html-button-response',
|
|
128
|
-
stimulus: '<p>All files loaded successfully!</p>',
|
|
129
|
-
choices: ['End']
|
|
130
|
-
};
|
|
131
|
-
|
|
132
|
-
jsPsych.init({
|
|
133
|
-
timeline: [auto_preload_trial, start, image_trial, audio_trial,
|
|
134
|
-
start_fail_example_1, preload_fail_example_1, after_fail_example_1,
|
|
135
|
-
start_fail_example_2, preload_fail_example_2, after_fail_example_2],
|
|
136
|
-
on_finish: function(){jsPsych.data.displayData();}
|
|
137
|
-
});
|
|
138
|
-
|
|
139
|
-
</script>
|
|
140
|
-
</html>
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<script src="../jspsych.js"></script>
|
|
5
|
-
<script src="../plugins/jspsych-html-keyboard-response.js"></script>
|
|
6
|
-
<script src="../plugins/jspsych-reconstruction.js"></script>
|
|
7
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
8
|
-
</head>
|
|
9
|
-
<body></body>
|
|
10
|
-
<script>
|
|
11
|
-
|
|
12
|
-
var sample_function = function(param){
|
|
13
|
-
var size = 50 + Math.floor(param*250);
|
|
14
|
-
var html = '<div style="display: block; margin: auto; height: 300px; width: 300px; position: relative;">'+
|
|
15
|
-
'<div style="display: block; position: absolute; top: '+(150 - size/2)+'px; left:'+(150 - size/2)+'px; background-color: #000000; '+
|
|
16
|
-
'width: '+size+'px; height: '+size+'px;"></div></div><p>Press "h" to make the square larger. Press "g" to make the square smaller.</p>'+
|
|
17
|
-
'<p>When the square is the same size as the previous one, click Next.</p>';
|
|
18
|
-
return html;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
var pre_test = {
|
|
22
|
-
type: 'html-keyboard-response',
|
|
23
|
-
stimulus: '<div style="display: block; margin: auto; height: 300px; width: 300px; position: relative;">'+
|
|
24
|
-
'<div style="display: block; position: absolute; top: '+(150 - 210/2)+'px; left:'+(150 - 210/2)+'px; background-color: #000000; '+
|
|
25
|
-
'width: 210px; height: 210px;"></div></div>',
|
|
26
|
-
choices: ['c'],
|
|
27
|
-
post_trial_gap: 1250,
|
|
28
|
-
prompt: '<p>Study the size of this square carefully. On the next screen you will have to recreate it. When you are ready, press "c".</p>'
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
var test = {
|
|
32
|
-
type: 'reconstruction',
|
|
33
|
-
stim_function: sample_function,
|
|
34
|
-
starting_value: 0.5,
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
jsPsych.init({
|
|
38
|
-
timeline: [pre_test, test],
|
|
39
|
-
on_finish: function() { jsPsych.data.displayData(); }
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
</script>
|
|
43
|
-
</html>
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<script src="../jspsych.js"></script>
|
|
5
|
-
<script src="../plugins/jspsych-resize.js"></script>
|
|
6
|
-
<script src="../plugins/jspsych-image-keyboard-response.js"></script>
|
|
7
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
8
|
-
</head>
|
|
9
|
-
<body>
|
|
10
|
-
</body>
|
|
11
|
-
<script>
|
|
12
|
-
|
|
13
|
-
var inputs = {
|
|
14
|
-
type: 'resize',
|
|
15
|
-
item_width: 3 + 3/8,
|
|
16
|
-
item_height: 2 + 1/8,
|
|
17
|
-
prompt: "<p>Click and drag the lower right corner of the box until the box is the same size as a credit card held up to the screen.</p>",
|
|
18
|
-
pixels_per_unit: 642/4
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
var image_display = {
|
|
22
|
-
type: 'image-keyboard-response',
|
|
23
|
-
stimulus: 'img/happy_face_4.jpg',
|
|
24
|
-
prompt: '<p>If scaling worked, then the image above should be 4 inches wide.</p>',
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
jsPsych.init({
|
|
28
|
-
timeline: [inputs, image_display],
|
|
29
|
-
on_finish: function() {
|
|
30
|
-
jsPsych.data.displayData();
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
</script>
|
|
34
|
-
</html>
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<script src="../jspsych.js"></script>
|
|
6
|
-
<script src="../plugins/jspsych-same-different-html.js"></script>
|
|
7
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
8
|
-
</head>
|
|
9
|
-
<body></body>
|
|
10
|
-
<script>
|
|
11
|
-
var trial = {
|
|
12
|
-
type: 'same-different-html',
|
|
13
|
-
stimuli: ['<p>Talkative</p>', '<p>Loquacious</p>'],
|
|
14
|
-
prompt: "<p>Press 's' if the words mean the same thing. Press 'd' if they mean different things.</p>",
|
|
15
|
-
same_key: 's',
|
|
16
|
-
different_key: 'd',
|
|
17
|
-
answer: 'same'
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
jsPsych.init({
|
|
21
|
-
timeline: [trial],
|
|
22
|
-
on_finish: function() {
|
|
23
|
-
jsPsych.data.displayData();
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
</script>
|
|
27
|
-
|
|
28
|
-
</html>
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<script src="../jspsych.js"></script>
|
|
6
|
-
<script src="../plugins/jspsych-same-different-image.js"></script>
|
|
7
|
-
<script src="../plugins/jspsych-preload.js"></script>
|
|
8
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
9
|
-
<style>
|
|
10
|
-
img {
|
|
11
|
-
width: 300px;
|
|
12
|
-
}
|
|
13
|
-
</style>
|
|
14
|
-
</head>
|
|
15
|
-
<body></body>
|
|
16
|
-
<script>
|
|
17
|
-
var preload = {
|
|
18
|
-
type: 'preload',
|
|
19
|
-
auto_preload: true
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
var trial = {
|
|
23
|
-
type: 'same-different-image',
|
|
24
|
-
stimuli: ['img/happy_face_1.jpg', 'img/sad_face_3.jpg'],
|
|
25
|
-
prompt: "<p>Press 's' if the faces had the same emotional expression. Press 'd' if the faces had different emotional expressions.</p>",
|
|
26
|
-
same_key: 's',
|
|
27
|
-
different_key: 'd',
|
|
28
|
-
answer: 'different'
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
jsPsych.init({
|
|
32
|
-
timeline: [preload, trial],
|
|
33
|
-
on_finish: function() {
|
|
34
|
-
jsPsych.data.displayData();
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
</script>
|
|
38
|
-
|
|
39
|
-
</html>
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<script src="../jspsych.js"></script>
|
|
6
|
-
<script src="../plugins/jspsych-serial-reaction-time-mouse.js"></script>
|
|
7
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
8
|
-
</head>
|
|
9
|
-
|
|
10
|
-
<body></body>
|
|
11
|
-
|
|
12
|
-
<script>
|
|
13
|
-
|
|
14
|
-
var grid_rows = 8;
|
|
15
|
-
var grid_cols = 8;
|
|
16
|
-
var square_size = 50;
|
|
17
|
-
|
|
18
|
-
var grid = [];
|
|
19
|
-
var locations = [];
|
|
20
|
-
|
|
21
|
-
for(var i=0; i<grid_rows; i++){
|
|
22
|
-
grid.push([]);
|
|
23
|
-
for(var j=0; j<grid_cols; j++){
|
|
24
|
-
grid[i].push(1);
|
|
25
|
-
if(i>0 && i < grid_rows-1 && j > 0 && j < grid_cols - 1){
|
|
26
|
-
locations.push([i,j]);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
var last_predictor = null;
|
|
32
|
-
var last_target = null;
|
|
33
|
-
var colors = ["#f3c300", "#875692", "#f38400", "#a1caf1", "#be0032", "#c2b280", "#848482", "#008856"];
|
|
34
|
-
var deltas = [[-1,-1], [-1, 0], [-1, 1], [0, -1], [0, 1], [1, -1], [1,0], [1,1]];
|
|
35
|
-
var order = [0,1,2,3,4,5,6,7];
|
|
36
|
-
order = jsPsych.randomization.shuffle(order);
|
|
37
|
-
var current_idx = -1;
|
|
38
|
-
|
|
39
|
-
function getNextPredictor(){
|
|
40
|
-
current_idx++;
|
|
41
|
-
if(current_idx >= order.length){
|
|
42
|
-
order = jsPsych.randomization.shuffle(order);
|
|
43
|
-
current_idx = 0;
|
|
44
|
-
}
|
|
45
|
-
var predictor = jsPsych.randomization.sampleWithoutReplacement(locations, 1)[0];
|
|
46
|
-
if(last_target !== null){
|
|
47
|
-
while(predictor[0] == last_target[0] && predictor[1] == last_target[1]){
|
|
48
|
-
predictor = jsPsych.randomization.sampleWithoutReplacement(locations, 1)[0];
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
last_predictor = predictor;
|
|
52
|
-
return predictor;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
function getNextTarget(){
|
|
56
|
-
var target = last_predictor.slice();
|
|
57
|
-
var d = deltas[order[current_idx]];
|
|
58
|
-
target[0] = target[0] + d[0];
|
|
59
|
-
target[1] = target[1] + d[1];
|
|
60
|
-
last_target = target;
|
|
61
|
-
return target;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
function getColor(){
|
|
65
|
-
return colors[order[current_idx]];
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
var timeline_2 = {
|
|
69
|
-
timeline: [
|
|
70
|
-
{
|
|
71
|
-
type: 'serial-reaction-time-mouse',
|
|
72
|
-
grid: grid,
|
|
73
|
-
target: getNextPredictor,
|
|
74
|
-
target_color: getColor,
|
|
75
|
-
grid_square_size: square_size,
|
|
76
|
-
allow_nontarget_responses: true
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
type: 'serial-reaction-time-mouse',
|
|
80
|
-
grid: grid,
|
|
81
|
-
target: getNextTarget,
|
|
82
|
-
target_color: getColor,
|
|
83
|
-
grid_square_size: square_size
|
|
84
|
-
}
|
|
85
|
-
],
|
|
86
|
-
repetitions: 6,
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
jsPsych.init({
|
|
90
|
-
timeline: [timeline_2],
|
|
91
|
-
on_finish: function() {
|
|
92
|
-
jsPsych.data.displayData();
|
|
93
|
-
},
|
|
94
|
-
default_iti: 0
|
|
95
|
-
});
|
|
96
|
-
</script>
|
|
97
|
-
|
|
98
|
-
</html>
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
|
|
6
|
-
<script src="../jspsych.js"></script>
|
|
7
|
-
<script src="../plugins/jspsych-serial-reaction-time.js"></script>
|
|
8
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
9
|
-
</head>
|
|
10
|
-
|
|
11
|
-
<script>
|
|
12
|
-
|
|
13
|
-
var locations = [
|
|
14
|
-
[0,0],
|
|
15
|
-
[0,1],
|
|
16
|
-
[0,2],
|
|
17
|
-
[0,3]
|
|
18
|
-
];
|
|
19
|
-
|
|
20
|
-
locations = jsPsych.randomization.shuffle(locations);
|
|
21
|
-
|
|
22
|
-
var timeline = {
|
|
23
|
-
timeline: [
|
|
24
|
-
{
|
|
25
|
-
type: 'serial-reaction-time',
|
|
26
|
-
target: jsPsych.timelineVariable('target1'),
|
|
27
|
-
grid_square_size: 80,
|
|
28
|
-
prompt: "<p>Press the key that corresponds to the dark box (use 3, 5, 7, 9)</p>"
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
type: 'serial-reaction-time',
|
|
32
|
-
target: jsPsych.timelineVariable('target2'),
|
|
33
|
-
grid_square_size: 80,
|
|
34
|
-
prompt: "<p>Press the key that corresponds to the dark box (use 3, 5, 7, 9)</p>"
|
|
35
|
-
}
|
|
36
|
-
],
|
|
37
|
-
timeline_variables: [
|
|
38
|
-
{target1: locations[0], target2: locations[1]},
|
|
39
|
-
{target1: locations[2], target2: locations[3]}
|
|
40
|
-
],
|
|
41
|
-
randomize_order: true,
|
|
42
|
-
repetitions: 10
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
jsPsych.init({
|
|
46
|
-
timeline: [timeline],
|
|
47
|
-
on_finish: function() {
|
|
48
|
-
jsPsych.data.displayData();
|
|
49
|
-
},
|
|
50
|
-
default_iti: 0
|
|
51
|
-
});
|
|
52
|
-
</script>
|
|
53
|
-
|
|
54
|
-
</html>
|