我对编写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行,如下面所示,它可以识别keypress。
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;非常感谢你花时间阅读这个冗长的问题,我非常感谢你的帮助!)
发布于 2016-05-04 11:01:32
您可以用一行代码来完成这个任务:
if(e.keyCode==32) $("${lm://CurrentLoopNumber}").play();https://stackoverflow.com/questions/37017016
复制相似问题