预设图像1秒钟

时间:2016-07-07 11:45:02

标签: javascript image qualtrics

我打算在Qualtrics(& MTurk)上进行论文实验。 我对编程不了解,希望有人能帮助我...

我的实验调用了面部分类任务:在每次试验中,固定十字(图像)在屏幕上显示1秒(1000毫秒),然后呈现面部(图像)直到响应(按键),然后面对立即消失,固定再次显示。 面部图像位于质量图形库中,并通过循环和放大器加载。合并。 每个图像(固定/面部)都显示在一个单独的页面上,所以(我猜?)切换图像可以加载下一页。

一位朋友给我写了一个代码(见下文)。因为面部图像需要花费时间来加载,所以他编写了代码,使得固定图像将保留在屏幕上,直到加载了面部图像。在他这样做之前,一切都花了更长时间。

所以,问题是: 非常重要的是时机将是正确的(1秒和立即褪色),而现在不是(固定图像保持超过1秒并且脸部图像不会消失按键后立即)。 有什么方法可以解决这个问题吗?

以下是任务的预览: https://az1.qualtrics.com/WRQualtricsSurveyEngine/?SID=SV_86ywmGzJI6CYCaN&SVID=&Preview=Block&ID=BL_cZlpjflHvRNvLF3&Q_DONT_SAVE=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

0 个答案:

没有答案