我打算在Qualtrics(& MTurk)上进行论文实验。 我对编程不了解,希望有人能帮助我...
我的实验调用了面部分类任务:在每次试验中,固定十字(图像)在屏幕上显示1秒(1000毫秒),然后呈现面部(图像)直到响应(按键),然后面对立即消失,固定再次显示。 面部图像位于质量图形库中,并通过循环和放大器加载。合并。 每个图像(固定/面部)都显示在一个单独的页面上,所以(我猜?)切换图像可以加载下一页。
一位朋友给我写了一个代码(见下文)。因为面部图像需要花费时间来加载,所以他编写了代码,使得固定图像将保留在屏幕上,直到加载了面部图像。在他这样做之前,一切都花了更长时间。
所以,问题是: 非常重要的是时机将是正确的(1秒和立即褪色),而现在不是(固定图像保持多超过1秒并且脸部图像不会消失按键后立即)。 有什么方法可以解决这个问题吗?
代码:
Qualtrics.SurveyEngine.addOnload(function()
{
this.hideChoices()
$('NextButton').hide();
var formPage = this;
var c = 0;
change2face = function() {
if($('face_img').naturalWidth === 0) {
window.setTimeout(change2face,100);
} else {
$('plus_img').hide();
$('face_img').style.display = "inline";
Event.observe(document, 'keydown', function keydownCallback(e) {
//Get char from the pressed key keycode
c = String.fromCharCode(e.keyCode);
if (c == 'Q') {
Event.stopObserving(document, 'keydown', keydownCallback);
formPage.setChoiceValue(1,'true');
formPage.clickNextButton();
}
if (c == 'P') {
Event.stopObserving(document, 'keydown', keydownCallback);
formPage.setChoiceValue(2,'true');
formPage.clickNextButton();
}
});
}
}
window.setTimeout(change2face,1000);
});
谢谢,
-Mayan