我是一名实验心理学博士生,由于 COVID-19,我们必须在线切换所有实验。我也不太了解Javascript。
问题是我们通常会在短时间内(例如 200 毫秒)呈现刺激,并且我们需要最少的可变性,因此我们通常与显示器刷新率同步。
我对 Javascript 的有限理解是它setTimeout()
不依赖于监视器帧(因此应该显示 200 毫秒的刺激实际上可能在屏幕上比这个持续时间长),这requestAnimationFrame()
会更精确。但是,过去几天我一直在尝试了解如何使用requestAnimationFrame()
而不是setTimeout()
但无济于事,我发现的所有教程都是用于显示动画刺激。这是我现在用来处理实验流程的代码片段。
setTimeout(function() {
generateTrial(current_trial);
$fixation.show();
setTimeout(function() {
$fixation.toggle();
$presentation.toggle();
setTimeout(function() {
$presentation.toggle();
$fixation.toggle();
setTimeout(function() {
ShowContinuousReport(current_trial);
}, 995);
}, 195);
}, 995);
}, 495);
您是否知道如何将所有这些讨厌的东西转换setTimeout()
为requestAnimationFrame()
(或至少比 更好的东西setTimeout()
)?:)
我$presentation
使用$fixation
在generateTrial(current_trial)
.
感谢您的帮助!
最好的问候,马丁康斯坦特。