From 64f8fc7f9fc68a9672b00f42d4689405647e8543 Mon Sep 17 00:00:00 2001 From: KristinDiep Date: Thu, 30 Mar 2017 23:45:23 -0400 Subject: [PATCH 1/7] transferred iat plugin to forked repo of jsPsych --- examples/age/of1.jpg | Bin 0 -> 6664 bytes examples/age/of2.jpg | Bin 0 -> 8017 bytes examples/age/of3.jpg | Bin 0 -> 7634 bytes examples/age/om1.jpg | Bin 0 -> 7933 bytes examples/age/om2.jpg | Bin 0 -> 7867 bytes examples/age/om3.jpg | Bin 0 -> 8266 bytes examples/age/yf1.jpg | Bin 0 -> 7656 bytes examples/age/yf4.jpg | Bin 0 -> 7725 bytes examples/age/yf5.jpg | Bin 0 -> 7654 bytes examples/age/ym2.jpg | Bin 0 -> 8050 bytes examples/age/ym3.jpg | Bin 0 -> 7584 bytes examples/age/ym5.jpg | Bin 0 -> 7683 bytes examples/iat-example.html | 450 ++++++++++++++++++++++++++++++++++++++ examples/redX.png | Bin 0 -> 1018 bytes plugins/jspsych-iat.js | 251 +++++++++++++++++++++ 15 files changed, 701 insertions(+) create mode 100755 examples/age/of1.jpg create mode 100755 examples/age/of2.jpg create mode 100755 examples/age/of3.jpg create mode 100755 examples/age/om1.jpg create mode 100755 examples/age/om2.jpg create mode 100755 examples/age/om3.jpg create mode 100755 examples/age/yf1.jpg create mode 100755 examples/age/yf4.jpg create mode 100755 examples/age/yf5.jpg create mode 100755 examples/age/ym2.jpg create mode 100755 examples/age/ym3.jpg create mode 100755 examples/age/ym5.jpg create mode 100644 examples/iat-example.html create mode 100755 examples/redX.png create mode 100644 plugins/jspsych-iat.js diff --git a/examples/age/of1.jpg b/examples/age/of1.jpg new file mode 100755 index 0000000000000000000000000000000000000000..13a406d0d3a63c349a9def9ec92ddacce1ec3a02 GIT binary patch literal 6664 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 XBNvZ5F9UlnO9_rwz_9||)u;agbnfFi literal 0 HcmV?d00001 diff --git a/examples/age/of2.jpg b/examples/age/of2.jpg new file mode 100755 index 0000000000000000000000000000000000000000..0c10e8117a068b5d0277fe996d75920de12dc383 GIT binary patch literal 8017 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
  • 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 ZXF%N=klcR;NM)B6p7vm9vJua#{|j{I?jQgF literal 0 HcmV?d00001 diff --git a/examples/age/of3.jpg b/examples/age/of3.jpg new file mode 100755 index 0000000000000000000000000000000000000000..e20f977ddd1a1a06bc5bb3d0a7ac2440449be15e GIT binary patch literal 7634 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 CjsU^{ literal 0 HcmV?d00001 diff --git a/examples/age/om1.jpg b/examples/age/om1.jpg new file mode 100755 index 0000000000000000000000000000000000000000..0b4335b52cf4c51651be908ce224363da2119b53 GIT binary patch literal 7933 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 literal 0 HcmV?d00001 diff --git a/examples/age/om2.jpg b/examples/age/om2.jpg new file mode 100755 index 0000000000000000000000000000000000000000..3930e061ba4b60de15dca53b6d9c469f96626c27 GIT binary patch literal 7867 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 literal 0 HcmV?d00001 diff --git a/examples/age/om3.jpg b/examples/age/om3.jpg new file mode 100755 index 0000000000000000000000000000000000000000..f74917ee5cc86343c88fe234be99ea4fb51e6355 GIT binary patch literal 8266 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 OCOO0amS_^p%>MyJt_>sr literal 0 HcmV?d00001 diff --git a/examples/age/yf1.jpg b/examples/age/yf1.jpg new file mode 100755 index 0000000000000000000000000000000000000000..c13b936ed49cc24a61a90a2be5cf43349c08c80d GIT binary patch literal 7656 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 literal 0 HcmV?d00001 diff --git a/examples/age/yf5.jpg b/examples/age/yf5.jpg new file mode 100755 index 0000000000000000000000000000000000000000..9471606d5094347167cbdb1af65cafea48e40ce4 GIT binary patch literal 7654 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 Q+kJq-Ef96ga=Y+<0H(!V&;S4c literal 0 HcmV?d00001 diff --git a/examples/age/ym2.jpg b/examples/age/ym2.jpg new file mode 100755 index 0000000000000000000000000000000000000000..a56e70e1df01c68aebb31776f5ed4daf0f97aba3 GIT binary patch literal 8050 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 y#W&>?|ZWpU;RidMph^c7f=pgow%dJul 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 E7xrNs@Bjb+ literal 0 HcmV?d00001 diff --git a/examples/age/ym5.jpg b/examples/age/ym5.jpg new file mode 100755 index 0000000000000000000000000000000000000000..4e25343b149054c50549e8a3fb388122aeabf9f8 GIT binary patch literal 7683 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 F{{ej6V#ELd literal 0 HcmV?d00001 diff --git a/examples/iat-example.html b/examples/iat-example.html new file mode 100644 index 00000000..b15d7ccc --- /dev/null +++ b/examples/iat-example.html @@ -0,0 +1,450 @@ + + + + My experiment + + + + + + + + + + \ No newline at end of file diff --git a/examples/redX.png b/examples/redX.png new file mode 100755 index 0000000000000000000000000000000000000000..55eeb0397bba4a6a42cfcc2750c5f3f0c51925e0 GIT binary patch literal 1018 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&1CL2WK~!i%?V7zy zBta0x#{)wHQxh{mj10vbX1iV1E?o&GvM^sj052?Q_66SM)Hy{Lfycudg2eoxZoXVs*6`7?8HJ zQ~Z&gbbnvW&&$cNBG#o~|4Oc|+~g#*blLE*Yc~CWY~J79`nsHXdfHuI`vCz=A2>dC zLql?+nHhI;;|Jt%bmRsHyXM4WHyZv^MnoTdP#7-aqdd;f-Po9%aC6gre)<87h&}*U z!C_)LI2EqV;PKHdF3Q<(1=o|r^?{R<-~JbqPE5Fq3qL>!eH-v4JX%FkA3P8Li+N$o z%kKHvkI@iDGotYD(0`gFsSi9nxP^tTsoS&f?WN=92O4&3YsxsT(g)}QqoeNZ%nwL_ z@LF1u_geCRLLdADZ;8ABgJ0p@1T^f7c~qefAleXfVkKBQJ0P)z+iQ1M8yMf{^a1Qy z>|C)}BD=O)Br5Q(s}hPptq+9RA4Y?ThFwNtvgt!SVc&^WVPZ4VtdyJBE&70_sL-&> zEsREefG*$ZLFfa_&AGd~@0-oo_0iV{!&`oNApxMwlo9Ou04*wTDqf;+t*O#5vh)GC z1db_7p|-N(USIt!S>)=2OK4FkTe2}$lB*BUB-gP->b6irAD~5|ZB>o2l6v~U!GTl; z8y|OV5xxdMX+X|9hEMtJvBqK0f?E>)>@}fO@d8AwAbIY#m*PoTi38T1d*K z`-YJwS0DWjADX?P5@hM4nFZdOnvxe`#)ed2*N4Thq!58Om$_(?1rHpcY(Xl}Vv>x(r6)G_<}WF+=G zcD)g`KEya8T`U=EjH#z#_I69BkA_{kF-B*F{z}{er^2-s6#DS`!mb@FRW`KkLEJtRMIJ8XMfSyYnx5c}8xVrpxqXg0}P#ueQu zQCwf_?N}RQ42HMFBrtj~5)juH9(uwoq4PtHq7u^wFfMi{)x)*PTrD-TMCC|GafD7L}5|*e"; + } else { + html_str += '

    '+trial.stimulus+'

    '; + } + + html_str += "
    "; + + if(trial.left_category_label.length == 1) { + html_str += '

    Press ' + trial.left_category_key.toUpperCase() + ' for:
    ' + + trial.left_category_label[0].toUpperCase().bold() + '

    '; + } else { + html_str += '

    Press ' + trial.left_category_key.toUpperCase() + ' for:
    ' + + trial.left_category_label[0].toUpperCase().bold() + '
    ' + 'or
    ' + + trial.left_category_label[1].toUpperCase().bold() + '

    '; + } + + html_str += "
    "; + + if(trial.right_category_label.length == 1) { + html_str += '

    Press ' + trial.right_category_key.toUpperCase() + ' for:
    ' + + trial.right_category_label[0].toUpperCase().bold() + '

    '; + } else { + html_str += '

    Press ' + trial.right_category_key.toUpperCase() + ' for:
    ' + + trial.right_category_label[0].toUpperCase().bold() + '
    ' + 'or
    ' + + trial.right_category_label[1].toUpperCase().bold() + '

    '; + } + + html_str += "
    "; + + if(trial.display_feedback == true) { + + + html_str += '
    '; + var wImg = document.getElementById("wrongImgID"); + //wImg.style.visibility = "hidden"; + + if(trial.key_to_move_forward.length == 0) { + html_str += '

    If you press the wrong key, a ' + trial.wrong_image_name + ' will appear. Press any key to continue.

    '; + } else if(trial.key_to_move_forward.length == 1) { + html_str += '

    If you press the wrong key, a ' + trial.wrong_image_name + ' appear. Press ' + trial.key_to_move_forward[0] + ' to continue.

    '; + } else { + html_str += '

    If you press the wrong key, a ' + trial.wrong_image_name + ' appear. Press ' + + keysToContinue + ' ' + trial.key_to_move_forward[lastKey] + ' to continue.

    '; + } + } + else { + html_str += '

    Trial will continue automatically.

    '; + } + + html_str += "
    "; + + display_element.innerHTML += html_str; + + + //show prompt if there is one + if (trial.prompt !== "") { + display_element.innerHTML += trial.prompt; + } + + // store response + var response = { + rt: -1, + key: -1, + correct: false + }; + + // function to end trial when it is time + var end_trial = function() { + + // kill any remaining setTimeout handlers + jsPsych.pluginAPI.clearAllTimeouts(); + + // kill keyboard listeners + if (typeof keyboardListener !== 'undefined') { + jsPsych.pluginAPI.cancelKeyboardResponse(keyboardListener); + } + + // gather the data to store for the trial + var trial_data = { + "rt": response.rt, + "stimulus": trial.stimulus, + "key_press": response.key, + "correct": response.correct + }; + + jsPsych.data.write(trial_data); + jsPsych.data.addDataToLastTrial(trial_data); + + // clears the display + display_element.innerHTML = ''; + + // move on to the next trial + jsPsych.finishTrial(trial_data); + }; + + + var leftKeyCode = jsPsych.pluginAPI.convertKeyCharacterToKeyCode(trial.left_category_key); + var rightKeyCode = jsPsych.pluginAPI.convertKeyCharacterToKeyCode(trial.right_category_key); + + + // function to handle responses by the subject + var after_response = function(info) { + var wImg = document.getElementById("wrongImgID"); + // after a valid response, the stimulus will have the CSS class 'responded' + // which can be used to provide visual feedback that a response was recorded + display_element.querySelector('#jspsych-iat-stim').className += ' responded'; + + // only record the first response + if (response.key == -1 ) { + response = info; + } + + if(trial.stim_key_association == "right") { + if(response.rt > -1 && response.key == rightKeyCode) { + response.correct = true; + if(trial.response_ends_trial) { + end_trial(); + } + } else { + response.correct = false; + if(trial.display_feedback == true) { + wImg.style.visibility = "visible"; + } + if (trial.response_ends_trial && trial.display_feedback == true) { + var keyListener = jsPsych.pluginAPI.getKeyboardResponse({ + callback_function: end_trial, + valid_responses: trial.key_to_move_forward + }); + } else if(trial.response_ends_trial && trial.display_feedback != true) { + var keyListener = jsPsych.pluginAPI.getKeyboardResponse({ + callback_function: end_trial, + valid_responses: [] + }); + } + } + } + + else if(trial.stim_key_association == "left") { + if(response.rt > -1 && response.key == leftKeyCode) { + response.correct = true; + if(trial.response_ends_trial) { + end_trial(); + } + } else { + response.correct = false; + if(trial.display_feedback == true) { + wImg.style.visibility = "visible"; + } + if (trial.response_ends_trial && trial.display_feedback == true) { + var keyListener = jsPsych.pluginAPI.getKeyboardResponse({ + callback_function: end_trial, + valid_responses: trial.key_to_move_forward + }); + } else if(trial.response_ends_trial && trial.display_feedback != true) { + var keyListener = jsPsych.pluginAPI.getKeyboardResponse({ + callback_function: end_trial, + valid_responses: [] + }); + } + } + } + }; + + // start the response listener + if (trial.left_category_key != jsPsych.NO_KEYS && trial.right_category_key != jsPsych.NO_KEYS) { + var keyboardListener = jsPsych.pluginAPI.getKeyboardResponse({ + callback_function: after_response, + valid_responses: [trial.left_category_key, trial.right_category_key], + rt_method: 'date', + persist: false, + allow_held_key: false + }); + } + + + // end trial if time limit is set + if (trial.timing_response > 0 && trial.display_feedback != true) { + jsPsych.pluginAPI.setTimeout(function() { + end_trial(); + }, trial.timing_response); + } + + }; + + return plugin; +})(); From b7d43b32805e038d9297272470928266558f1101 Mon Sep 17 00:00:00 2001 From: KristinDiep Date: Sat, 1 Apr 2017 16:14:57 -0400 Subject: [PATCH 2/7] added 'other key' option --- examples/iat-example.html | 16 +++--- plugins/jspsych-iat.js | 113 +++++++++++++++++++++----------------- 2 files changed, 72 insertions(+), 57 deletions(-) diff --git a/examples/iat-example.html b/examples/iat-example.html index b15d7ccc..b1ae0260 100644 --- a/examples/iat-example.html +++ b/examples/iat-example.html @@ -42,8 +42,8 @@ var category_block = { var instructions_block = { type: 'text', - text: "

    Press E for:
    " + - "YOUNG

    " + "

    Press I for:
    " + "OLD

    " + + text: "

    Press E for:
    " + + "YOUNG

    " + "

    Press I for:
    " + "OLD

    " + "
    " + "

    Put a left finger on the E key for items that belong to the Old People category. Put a right finger on the " + "I key for items that belong to the Young People " + @@ -93,8 +93,8 @@ var trial_block = { var instructions_block2 = { type: 'text', - text: "

    Press E for:
    " + - "BAD
    " + "
    " + + text: "
    Press E for:
    " + + "BAD
    " + "
    " + "Press I for:
    " + "GOOD
    " + "
    " + "

    Put a left finger on the E key for items that " + @@ -149,9 +149,9 @@ var trial_block2 = { var instructions_block3 = { type: 'text', - text: "

    Press 'E' for:
    " + - "Bad
    " + "or
    " + "Old People
    " + "
    " + - "Press 'I' for:
    " + "Good
    " + "or
    " + "Young People
    " + + text: "
    Press 'E' for:
    " + + "BAD
    " + "or
    " + "OLD PEOPLE
    " + "
    " + + "Press 'I' for:
    " + "GOOD
    " + "or
    " + "YOUNG PEOPLE
    " + "

    Use E for Bad and for " + "Old People
    " + "Use I for Good and for Young People
    " + "Each item belongs to only one category.

    " + "If you " + @@ -424,7 +424,7 @@ var trial_block4 = { var timeline = []; // timeline.push(welcome_block); // timeline.push(category_block); -// timeline.push(instructions_block); +//timeline.push(instructions_block); timeline.push(trial_block); timeline.push(instructions_block2); timeline.push(trial_block2); diff --git a/plugins/jspsych-iat.js b/plugins/jspsych-iat.js index bd63c742..86a28ea3 100644 --- a/plugins/jspsych-iat.js +++ b/plugins/jspsych-iat.js @@ -9,7 +9,7 @@ **/ -jsPsych.plugins["iat"] = (function() { + jsPsych.plugins["iat"] = (function() { var plugin = {}; @@ -44,8 +44,9 @@ jsPsych.plugins["iat"] = (function() { trial.is_html = (typeof trial.is_html == 'undefined') ? false : trial.is_html; trial.prompt = trial.prompt || ""; + //Creates extra styling needed - var node = display_element.innerHTML += '