【发布时间】:2016-05-04 01:36:01
【问题描述】:
我对编写 javascript 非常陌生。目前,我正在使用 Qualtrics 的调查进行听觉实验。听觉刺激被上传到网站,我使用 Qualtrics 的“Source”功能编写如下所示的小代码来播放听觉刺激。 (警告:www.auditorystimuli.com 是一个虚拟地址)
<audio autoplay="" src="http://www.auditorystimuli.com/L0_high_1.mp3"> </audio>
整个实验由 120 次试验组成,因此我尝试使用 Qualtrics 的循环功能循环问题,而不是构建 120 次问题。 我目前面临的问题是,在上面几行中,每次循环前进时,“L0_high_1”(就在 .mp3 扩展名之前)的部分需要更改(例如,第一个问题的“L0_high_1”然后“ L9_low_2" 用于第二个问题,依此类推)。
我知道我们可以使用 Qualtrics 的“管道文本”功能来动态更改源代码中的数字。 我使用了下面的代码,第一个循环成功播放“L0_high_1”,第二个循环播放“L0_high_2”,依此类推。
<audio autoplay="" src="http://www.auditorystimuli.com/L0_high_${lm://CurrentLoopNumber}.mp3"> </audio>
但是,如上所述,我还必须更改 ${lm://CurrentLoopNumber} 部分前面的字母。
我正在考虑在 Qualtrics 的源代码下面编写,以便 javascript 可以根据当前循环的数量播放指定的声音。
<audio id="1" src="http://www.auditorystimuli.com/L0_high_1.mp3"> </audio>
<audio id="2" src="http://www.auditorystimuli.com/L9_low_2.mp3"> </audio>
我现在知道如何编写能够识别按键的 javascript 行,如下所示。
switch (e.keyCode) {
case 32: // 'space' was pressed
$('1').play();
break;
使用上面的行,我成功地播放了 id='1' 的声音。 我的问题是,我如何编写能够识别当前循环编号的 javascript 行(Qualtrics 源代码行的 ${lm://CurrentLoopNumber} 部分)? 我对 javascript 的粗略图像如下所示。替换“e.LOOP”、“LOOP1”或“LOOP2”部分的合适代码是什么?
switch (e.LOOP) {
LOOP1: // first loop
$('1').play();
break;
LOOP2: // second loop
$('2').play();
break;
非常感谢您花时间阅读这个长问题,非常感谢您的帮助! :)
【问题讨论】:
标签: javascript loops qualtrics