jspsych 6.2.0 → 7.1.0
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 +43 -29
- 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 -661
- package/docs/core_library/jspsych-data.md +0 -589
- package/docs/core_library/jspsych-pluginAPI.md +0 -510
- package/docs/core_library/jspsych-randomization.md +0 -397
- package/docs/core_library/jspsych-turk.md +0 -102
- package/docs/img/blue.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/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 -140
- package/docs/overview/data.md +0 -281
- package/docs/overview/exclude-browser.md +0 -32
- package/docs/overview/experiment-options.md +0 -121
- package/docs/overview/fullscreen.md +0 -36
- package/docs/overview/media-preloading.md +0 -91
- package/docs/overview/mturk.md +0 -77
- package/docs/overview/progress-bar.md +0 -110
- package/docs/overview/record-browser-interactions.md +0 -23
- package/docs/overview/running-experiments.md +0 -95
- package/docs/overview/timeline.md +0 -387
- package/docs/overview/trial.md +0 -142
- package/docs/plugins/creating-a-plugin.md +0 -79
- 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 -52
- 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 -55
- 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 -46
- package/docs/plugins/jspsych-image-keyboard-response.md +0 -57
- package/docs/plugins/jspsych-image-slider-response.md +0 -52
- package/docs/plugins/jspsych-instructions.md +0 -58
- package/docs/plugins/jspsych-maxdiff.md +0 -42
- 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 -50
- 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 -52
- package/docs/plugins/jspsych-video-keyboard-response.md +0 -48
- package/docs/plugins/jspsych-video-slider-response.md +0 -58
- 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/overview.md +0 -111
- package/docs/tutorials/hello-world.md +0 -144
- package/docs/tutorials/rt-task.md +0 -1107
- package/examples/add-to-end-of-timeline.html +0 -32
- package/examples/conditional-and-loop-functions.html +0 -63
- package/examples/css/jquery-ui.css +0 -1225
- package/examples/data-add-properties.html +0 -40
- package/examples/data-as-function.html +0 -36
- package/examples/data-from-timeline.html +0 -45
- package/examples/data-from-url.html +0 -21
- package/examples/demo-flanker.html +0 -108
- package/examples/demo-simple-rt-task.html +0 -104
- package/examples/demos/demo_1.html +0 -29
- package/examples/demos/demo_2.html +0 -43
- package/examples/demos/demo_3.html +0 -58
- package/examples/display-element-to-embed-experiment.html +0 -73
- package/examples/end-active-node.html +0 -52
- package/examples/end-experiment.html +0 -43
- 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/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/jspsych-RDK.html +0 -58
- package/examples/jspsych-animation.html +0 -33
- package/examples/jspsych-audio-button-response.html +0 -52
- package/examples/jspsych-audio-keyboard-response.html +0 -62
- package/examples/jspsych-audio-slider-response.html +0 -55
- 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 -46
- package/examples/jspsych-categorize-html.html +0 -38
- package/examples/jspsych-categorize-image.html +0 -38
- package/examples/jspsych-cloze.html +0 -42
- package/examples/jspsych-free-sort.html +0 -97
- package/examples/jspsych-fullscreen.html +0 -44
- package/examples/jspsych-html-button-response.html +0 -46
- package/examples/jspsych-html-keyboard-response.html +0 -42
- package/examples/jspsych-html-slider-response.html +0 -53
- package/examples/jspsych-iat.html +0 -510
- package/examples/jspsych-image-button-response.html +0 -84
- package/examples/jspsych-image-keyboard-response.html +0 -78
- package/examples/jspsych-image-slider-response.html +0 -76
- package/examples/jspsych-instructions.html +0 -37
- package/examples/jspsych-maxdiff.html +0 -33
- 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 -33
- 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 -57
- package/examples/jspsych-video-keyboard-response.html +0 -53
- package/examples/jspsych-video-slider-response.html +0 -55
- package/examples/jspsych-visual-search-circle.html +0 -58
- package/examples/jspsych-vsl-animate-occlusion.html +0 -29
- package/examples/jspsych-vsl-grid-scene.html +0 -41
- package/examples/lexical-decision.html +0 -132
- package/examples/manual-preloading.html +0 -53
- package/examples/pause-unpause.html +0 -33
- package/examples/progress-bar.html +0 -62
- 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 -55
- package/examples/video/sample_video.mp4 +0 -0
- package/jspsych.js +0 -2796
- package/license.txt +0 -21
- package/mkdocs.yml +0 -104
- package/plugins/jspsych-animation.js +0 -189
- package/plugins/jspsych-audio-button-response.js +0 -247
- package/plugins/jspsych-audio-keyboard-response.js +0 -204
- package/plugins/jspsych-audio-slider-response.js +0 -262
- 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 -444
- package/plugins/jspsych-fullscreen.js +0 -104
- 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 -311
- package/plugins/jspsych-image-keyboard-response.js +0 -247
- package/plugins/jspsych-image-slider-response.js +0 -353
- package/plugins/jspsych-instructions.js +0 -237
- package/plugins/jspsych-maxdiff.js +0 -174
- 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 -213
- 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 -320
- package/plugins/jspsych-video-keyboard-response.js +0 -279
- package/plugins/jspsych-video-slider-response.js +0 -351
- 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/template/jspsych-plugin-template.js +0 -35
- package/tests/README.md +0 -7
- 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 -369
- 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 -254
- package/tests/jsPsych/timelines.test.js +0 -498
- package/tests/jsPsych.data/datacollection.test.js +0 -116
- 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.pluginAPI/pluginapi.test.js +0 -144
- package/tests/jsPsych.randomization/randomziation.test.js +0 -27
- package/tests/jsPsych.utils/utils.test.js +0 -58
- package/tests/media/blue.png +0 -0
- package/tests/media/orange.png +0 -0
- package/tests/media/sample_video.mp4 +0 -0
- package/tests/media/sound.mp3 +0 -0
- package/tests/plugins/plugin-animation.test.js +0 -35
- 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 -274
- 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 -140
- package/tests/plugins/plugin-free-sort.test.js +0 -112
- 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 -328
- package/tests/plugins/plugin-iat-image.test.js +0 -308
- package/tests/plugins/plugin-image-button-response.test.js +0 -183
- package/tests/plugins/plugin-image-keyboard-response.test.js +0 -154
- package/tests/plugins/plugin-image-slider-response.test.js +0 -183
- package/tests/plugins/plugin-instructions.test.js +0 -66
- package/tests/plugins/plugin-maxdiff.test.js +0 -39
- package/tests/plugins/plugin-rdk.test.js +0 -17
- 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 -69
- 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 -48
- package/tests/plugins/plugin-survey-multi-select.test.js +0 -72
- package/tests/plugins/plugin-survey-text.test.js +0 -115
- package/tests/plugins/plugin-video-button-response.test.js +0 -35
- package/tests/plugins/plugin-video-keyboard-response.test.js +0 -35
- package/tests/plugins/plugin-video-slider-response.test.js +0 -34
- 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,55 +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
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
8
|
-
</head>
|
|
9
|
-
<body></body>
|
|
10
|
-
<script>
|
|
11
|
-
|
|
12
|
-
var pre_audio = {
|
|
13
|
-
type: 'html-button-response',
|
|
14
|
-
stimulus: '<div style="max-width:600px;"><p>Some browsers now require the user to interact with a page before it can play audio. '+
|
|
15
|
-
'Clicking the button below counts as an interaction.</p><p>Be aware of this when planning audio experiments if '+
|
|
16
|
-
'you want the first trial to include audio.</p></div>',
|
|
17
|
-
choices: ['Continue']
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
var trial_1 = {
|
|
21
|
-
type: 'audio-slider-response',
|
|
22
|
-
stimulus: 'sound/speech_joke.mp3',
|
|
23
|
-
labels: ['Not Funny', 'Funny'],
|
|
24
|
-
slider_width: 500,
|
|
25
|
-
prompt: '<p>How funny is the joke?</p>'
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
var trial_2 = {
|
|
29
|
-
type: 'audio-slider-response',
|
|
30
|
-
stimulus: 'sound/speech_red.mp3',
|
|
31
|
-
labels: ['Hate it', 'It"s OK', 'Love it'],
|
|
32
|
-
slider_width: 500,
|
|
33
|
-
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>',
|
|
34
|
-
require_movement: true
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
var trial_3 = {
|
|
38
|
-
type: 'audio-slider-response',
|
|
39
|
-
stimulus: 'sound/hammer.mp3',
|
|
40
|
-
labels: ['Unpleasant', 'OK', 'Very pleasant'],
|
|
41
|
-
slider_width: 500,
|
|
42
|
-
prompt: '<p>How pleasant was this sound?</p><p>The slider will be enabled after the audio ends.</p>',
|
|
43
|
-
response_allowed_while_playing: false
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
jsPsych.init({
|
|
47
|
-
timeline: [pre_audio, trial_1, trial_2, trial_3],
|
|
48
|
-
on_finish: function() {
|
|
49
|
-
jsPsych.data.displayData();
|
|
50
|
-
},
|
|
51
|
-
default_iti: 250
|
|
52
|
-
});
|
|
53
|
-
</script>
|
|
54
|
-
|
|
55
|
-
</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
|
-
// use the jsPsych.timelineVariable() function inside your stimulus function with the second 'true' argument
|
|
71
|
-
var circle_procedure = {
|
|
72
|
-
timeline: [{
|
|
73
|
-
type: 'canvas-button-response',
|
|
74
|
-
stimulus: function(c) {
|
|
75
|
-
filledCirc(c, jsPsych.timelineVariable('radius', true), jsPsych.timelineVariable('color', true));
|
|
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
|
-
// use the jsPsych.timelineVariable() function inside your stimulus function with the second 'true' argument
|
|
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', true);
|
|
52
|
-
ctx.fillRect(
|
|
53
|
-
jsPsych.timelineVariable('upper_left_x', true),
|
|
54
|
-
jsPsych.timelineVariable('upper_left_y', true),
|
|
55
|
-
jsPsych.timelineVariable('width', true),
|
|
56
|
-
jsPsych.timelineVariable('height', true)
|
|
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,46 +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
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
8
|
-
<style>
|
|
9
|
-
img {
|
|
10
|
-
width: 300px;
|
|
11
|
-
}
|
|
12
|
-
#jspsych-categorize-animation-stimulus {
|
|
13
|
-
width: 300px;
|
|
14
|
-
height: 225px;
|
|
15
|
-
}
|
|
16
|
-
</style>
|
|
17
|
-
</head>
|
|
18
|
-
<body></body>
|
|
19
|
-
<script>
|
|
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.
|
|
24
|
-
var trials = {
|
|
25
|
-
type: 'categorize-animation',
|
|
26
|
-
stimuli: ['img/happy_face_1.jpg', 'img/sad_face_3.jpg'],
|
|
27
|
-
key_answer: 68,
|
|
28
|
-
choices: [68, 83],
|
|
29
|
-
text_answer: 'different',
|
|
30
|
-
feedback_duration: 1000,
|
|
31
|
-
correct_text: "<p>Correct. The faces had %ANS% expressions.</p>",
|
|
32
|
-
incorrect_text: "<p>Incorrect. The faces had %ANS% expressions.</p>",
|
|
33
|
-
prompt: "<p>Press D if the faces had different emotional expressions. Press S if the faces had the same emotional expression.</p>",
|
|
34
|
-
//render_on_canvas: false
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
jsPsych.init({
|
|
38
|
-
timeline: [trials],
|
|
39
|
-
on_finish: function() {
|
|
40
|
-
jsPsych.data.displayData();
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
</script>
|
|
45
|
-
|
|
46
|
-
</html>
|
|
@@ -1,38 +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
|
-
<style>
|
|
9
|
-
img {
|
|
10
|
-
width: 300px;
|
|
11
|
-
}
|
|
12
|
-
</style>
|
|
13
|
-
</head>
|
|
14
|
-
<body></body>
|
|
15
|
-
<script>
|
|
16
|
-
var trial = {
|
|
17
|
-
type: 'categorize-html',
|
|
18
|
-
stimulus: '<div style="margin: auto; width: 200px; height: 200px; background-color: blue;"></div>',
|
|
19
|
-
key_answer: 66,
|
|
20
|
-
choices: [66, 80],
|
|
21
|
-
text_answer: 'blue',
|
|
22
|
-
correct_text: "<p>Correct. This color is %ANS%.</p>",
|
|
23
|
-
incorrect_text: "<p>Incorrect. This color is %ANS%. Please press the correct key to continue.</p>",
|
|
24
|
-
prompt: "<p>Press B if the square is blue. Press P if the square is purple.</p>",
|
|
25
|
-
trial_duration: 1500,
|
|
26
|
-
show_feedback_on_timeout: false,
|
|
27
|
-
force_correct_button_press: true
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
jsPsych.init({
|
|
31
|
-
timeline: [trial],
|
|
32
|
-
on_finish: function() {
|
|
33
|
-
jsPsych.data.displayData();
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
</script>
|
|
37
|
-
|
|
38
|
-
</html>
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<script src="../jspsych.js"></script>
|
|
6
|
-
<script src="../plugins/jspsych-categorize-image.js"></script>
|
|
7
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
8
|
-
<style>
|
|
9
|
-
img {
|
|
10
|
-
width: 300px;
|
|
11
|
-
}
|
|
12
|
-
</style>
|
|
13
|
-
</head>
|
|
14
|
-
<body></body>
|
|
15
|
-
<script>
|
|
16
|
-
var trials = {
|
|
17
|
-
type: 'categorize-image',
|
|
18
|
-
stimulus: 'img/happy_face_1.jpg',
|
|
19
|
-
key_answer: 72,
|
|
20
|
-
choices: [72, 83],
|
|
21
|
-
text_answer: 'happy',
|
|
22
|
-
correct_text: "<p>Correct. This face is %ANS%.</p>",
|
|
23
|
-
incorrect_text: "<p>Incorrect. This face is %ANS%. Please press the correct key to continue.</p>",
|
|
24
|
-
prompt: "<p>Press H if the face is happy. Press S if the face is sad.</p>",
|
|
25
|
-
trial_duration: 1500,
|
|
26
|
-
show_feedback_on_timeout: false,
|
|
27
|
-
force_correct_button_press: true
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
jsPsych.init({
|
|
31
|
-
timeline: [trials],
|
|
32
|
-
on_finish: function() {
|
|
33
|
-
jsPsych.data.displayData();
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
</script>
|
|
37
|
-
|
|
38
|
-
</html>
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<script src="../jspsych.js"></script>
|
|
6
|
-
<script src="../plugins/jspsych-cloze.js"></script>
|
|
7
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
8
|
-
<style>
|
|
9
|
-
img {
|
|
10
|
-
width: 300px;
|
|
11
|
-
}
|
|
12
|
-
</style>
|
|
13
|
-
</head>
|
|
14
|
-
|
|
15
|
-
<body></body>
|
|
16
|
-
<script>
|
|
17
|
-
|
|
18
|
-
var timeline = [];
|
|
19
|
-
|
|
20
|
-
// simple example using default settings (no check against correct solution, no custom button text)
|
|
21
|
-
timeline.push({
|
|
22
|
-
type: 'cloze',
|
|
23
|
-
text: 'The %% is the largest terrestrial mammal. It lives in both %% and %%.'
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
// more elaborate example (with check against correct solution, custom error handling and modified button text)
|
|
27
|
-
timeline.push({
|
|
28
|
-
type: 'cloze',
|
|
29
|
-
text: 'A rectangle has % 4 % corners and a triangle has % 3 %.',
|
|
30
|
-
check_answers: true,
|
|
31
|
-
button_text: 'Next',
|
|
32
|
-
mistake_fn: function () { alert("Wrong answer. Please check again.") }
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
jsPsych.init({
|
|
36
|
-
timeline: timeline,
|
|
37
|
-
on_finish: function () { jsPsych.data.displayData(); }
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
</script>
|
|
41
|
-
|
|
42
|
-
</html>
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<script src="../jspsych.js"></script>
|
|
5
|
-
<script src="../plugins/jspsych-free-sort.js"></script>
|
|
6
|
-
<script src="../plugins/jspsych-canvas-keyboard-response.js"></script>
|
|
7
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
8
|
-
</head>
|
|
9
|
-
<body></body>
|
|
10
|
-
<script>
|
|
11
|
-
|
|
12
|
-
var trial_1 = {
|
|
13
|
-
type: 'free-sort',
|
|
14
|
-
stimuli: ['img/happy_face_1.jpg','img/happy_face_3.jpg','img/sad_face_2.jpg','img/sad_face_4.jpg'],
|
|
15
|
-
stim_height: 150,
|
|
16
|
-
stim_width: 200,
|
|
17
|
-
prompt: 'Please group similar expressions together. '
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
var trial_2 = {
|
|
21
|
-
type: 'free-sort',
|
|
22
|
-
stimuli: ['img/happy_face_1.jpg','img/happy_face_3.jpg','img/sad_face_2.jpg','img/sad_face_4.jpg'],
|
|
23
|
-
stim_height: 120,
|
|
24
|
-
stim_width: 160,
|
|
25
|
-
prompt: '<p>Arrange the faces.</p>',
|
|
26
|
-
prompt_location: "below",
|
|
27
|
-
sort_area_height: 500,
|
|
28
|
-
sort_area_width: 600,
|
|
29
|
-
sort_area_shape: "square",
|
|
30
|
-
scale_factor: 1.2,
|
|
31
|
-
border_color_in: '#DCDCDC',
|
|
32
|
-
border_color_out: 'red'
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
var trial_3 = {
|
|
36
|
-
type: 'canvas-keyboard-response',
|
|
37
|
-
stimulus: function(c) {
|
|
38
|
-
c.style.border = "5px solid #A9A9A9";
|
|
39
|
-
// present images on a canvas at specific locations
|
|
40
|
-
var ctx = c.getContext('2d');
|
|
41
|
-
var img1 = new Image();
|
|
42
|
-
var img2 = new Image();
|
|
43
|
-
var img3 = new Image();
|
|
44
|
-
img1.src = 'img/1.gif';
|
|
45
|
-
img2.src = 'img/2.gif';
|
|
46
|
-
img3.src = 'img/3.gif';
|
|
47
|
-
img1.addEventListener('load', function() {
|
|
48
|
-
ctx.drawImage(img1, 0, 0, 90, 90);
|
|
49
|
-
}, false);
|
|
50
|
-
img2.addEventListener('load', function() {
|
|
51
|
-
ctx.drawImage(img2, 500, 600, 90, 90);
|
|
52
|
-
}, false);
|
|
53
|
-
img3.addEventListener('load', function() {
|
|
54
|
-
ctx.drawImage(img3, 300, 100, 90, 90);
|
|
55
|
-
}, false);
|
|
56
|
-
},
|
|
57
|
-
canvas_size: [700,700],
|
|
58
|
-
prompt: "Memorize the image locations (5s).",
|
|
59
|
-
choices: jsPsych.NO_KEYS,
|
|
60
|
-
trial_duration: 5000
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
var trial_4 = {
|
|
64
|
-
type: 'free-sort',
|
|
65
|
-
stimuli: ['img/1.gif','img/2.gif','img/3.gif'],
|
|
66
|
-
stim_height: 90,
|
|
67
|
-
stim_width: 90,
|
|
68
|
-
scale_factor: 1.0,
|
|
69
|
-
prompt: '<p>Where were the images?</p>',
|
|
70
|
-
prompt_location: 'below',
|
|
71
|
-
sort_area_shape: "square",
|
|
72
|
-
change_border_background_color: false,
|
|
73
|
-
border_width: 5,
|
|
74
|
-
counter_text_unfinished: "Not done yet...",
|
|
75
|
-
counter_text_finished: "Done!"
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
var trial_5 = {
|
|
79
|
-
type: 'free-sort',
|
|
80
|
-
stimuli: ['img/4.gif','img/5.gif','img/6.gif'],
|
|
81
|
-
prompt: '<p>Arrange the images.</p><p>Images start at random locations inside the sort area.</p>',
|
|
82
|
-
change_border_background_color: false,
|
|
83
|
-
border_width: 3,
|
|
84
|
-
counter_text_unfinished: "",
|
|
85
|
-
counter_text_finished: "",
|
|
86
|
-
stim_starts_inside: true,
|
|
87
|
-
sort_area_shape: "square"
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
jsPsych.init({
|
|
91
|
-
timeline: [trial_1, trial_2, trial_3, trial_4, trial_5],
|
|
92
|
-
on_finish: function(){jsPsych.data.displayData();}
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
</script>
|
|
97
|
-
</html>
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
|
|
6
|
-
<script src="../jspsych.js"></script>
|
|
7
|
-
<script src="../plugins/jspsych-fullscreen.js"></script>
|
|
8
|
-
<script src="../plugins/jspsych-image-keyboard-response.js"></script>
|
|
9
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
10
|
-
<style>
|
|
11
|
-
img {
|
|
12
|
-
width: 300px;
|
|
13
|
-
}
|
|
14
|
-
</style>
|
|
15
|
-
</head>
|
|
16
|
-
<body></body>
|
|
17
|
-
<script>
|
|
18
|
-
var fullscreen_trial = {
|
|
19
|
-
type: 'fullscreen',
|
|
20
|
-
fullscreen_mode: true
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
var trial_1 = {
|
|
24
|
-
type: 'image-keyboard-response',
|
|
25
|
-
stimulus: 'img/happy_face_1.jpg',
|
|
26
|
-
choices: [89, 78], // Y or N
|
|
27
|
-
prompt: '<p>Have you seen this face before? Y or N.</p>'
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
var fullscreen_trial_exit = {
|
|
31
|
-
type: 'fullscreen',
|
|
32
|
-
fullscreen_mode: false
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
jsPsych.init({
|
|
37
|
-
timeline: [ fullscreen_trial, trial_1, fullscreen_trial_exit ],
|
|
38
|
-
on_finish: function() {
|
|
39
|
-
jsPsych.data.displayData();
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
</script>
|
|
43
|
-
|
|
44
|
-
</html>
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<script src="../jspsych.js"></script>
|
|
5
|
-
<script src="../plugins/jspsych-html-button-response.js"></script>
|
|
6
|
-
<link rel="stylesheet" href="../css/jspsych.css">
|
|
7
|
-
<style>
|
|
8
|
-
img { width: 300px; }
|
|
9
|
-
</style>
|
|
10
|
-
</head>
|
|
11
|
-
<body></body>
|
|
12
|
-
<script>
|
|
13
|
-
|
|
14
|
-
var timeline = [];
|
|
15
|
-
|
|
16
|
-
timeline.push({
|
|
17
|
-
type: 'html-button-response',
|
|
18
|
-
stimulus: '<p style="color: red; font-size: 48px; font-weight: bold;">GREEN</p>',
|
|
19
|
-
choices: ['Green', 'Blue', 'Red'],
|
|
20
|
-
prompt: "<p>What color is this word?</p>"
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
timeline.push({
|
|
24
|
-
type: 'html-button-response',
|
|
25
|
-
stimulus: '<p style="color: green; font-size: 48px; font-weight: bold;">GREEN</p>',
|
|
26
|
-
choices: ['Green', 'Blue', 'Red'],
|
|
27
|
-
stimulus_duration: 1000,
|
|
28
|
-
prompt: "<p>What color is this word? (word disappears after 1s)</p>"
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
timeline.push({
|
|
32
|
-
type: 'html-button-response',
|
|
33
|
-
stimulus: '<p style="color: blue; font-size: 48px; font-weight: bold;">RED</p>',
|
|
34
|
-
choices: ['Green', 'Blue', 'Red'],
|
|
35
|
-
trial_duration: 2000,
|
|
36
|
-
response_ends_trial: false,
|
|
37
|
-
prompt: "<p>What color is this word? (trial ends after 2s)</p>"
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
jsPsych.init({
|
|
41
|
-
timeline: timeline,
|
|
42
|
-
on_finish: function(){jsPsych.data.displayData();}
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
</script>
|
|
46
|
-
</html>
|