(function( $ ) { jsPsych.similarity = (function(){ var plugin = {}; plugin.create = function(params) { sim_stims = params["stimuli"]; trials = new Array(sim_stims.length); for(var i = 0; i < trials.length; i++) { trials[i] = {}; trials[i]["type"] = "similarity"; trials[i]["a_path"] = sim_stims[i][0]; trials[i]["b_path"] = sim_stims[i][1]; trials[i]["timing"] = params["timing"]; if(params["data"]!=undefined){ trials[i]["data"] = params["data"][i]; } } return trials; } plugin.trial = function($this, block, trial, part) { switch(part){ case 1: // show the images $this.append($('', { "src": trial.a_path, "class": 'sim' })); setTimeout(function(){plugin.trial($this, block, trial, part + 1)}, trial.timing[0]); break; case 2: $('.sim').remove(); setTimeout(function(){plugin.trial($this, block, trial, part + 1)}, trial.timing[0]); break; case 3: $this.append($('', { "src": trial.b_path, "class": 'sim' })); // create slider $this.append($('
', { "id": 'slider', "class": 'sim' })); $("#slider").slider( { value:50, min:0, max:100, step:1, }); // create labels for slider $this.append($('
', {"id": 'slider_labels', "class": 'sim'})); $('#slider_labels').append($('

Not at all similar

')); $('#slider_labels').append($('

Highly similar

')); // create button $this.append($('