【发布时间】:2014-04-20 20:47:18
【问题描述】:
我正在尝试在按键事件上呈现的一系列刺激中插入延迟。 下面的代码显示了我如何尝试在刺激之间插入 1000 毫秒的延迟(即按下键后,下一个刺激出现之前应该需要 1000 毫秒)。然而,似乎没有延迟。我哪里错了(用 setTimeout 做这个更好吗)?
还有:我如何将每个刺激的最大“显示时间”设置为 2000 毫秒,以便即使没有按下任何键,它也会自动呈现另一个刺激?
var stim = [
{name:"WORD1", path:".../pic1.jpg"},
{name:"WORD2", path:".../pic2.jpg"},
{name:"WORD3", path:".../pic3.jpg"},
]
$(function(){
$(document).keypress(function(e){
if ($(e.target).is('input, textarea')) {
return;
};
if (e.which === 97 || e.which === 108) {
if(Math.random() < 0.5) {
var new_word = stim[Math.floor((Math.random()*stim.length)+1)].name;
$("#abc").delay(1000).text(new_word);
} else {
var new_img = stim[Math.floor((Math.random()*stim.length)+1)].path;
$("#abc").delay(1000).empty();
var prox_img = $('<img id="abcimg" height="300px" width="300px">');
prox_img.attr('src', new_img);
prox_img.appendTo('#abc');
}
};
});
});
【问题讨论】:
标签: javascript jquery timeout delay