我可以在javascript中设置两个其他函数的setInterval参数吗?我可以在javascript中设置两个其他函数的setInterval参数吗?
取而代之的是...
myVar = setInterval(function1, 8000);
我想做到这一点...其中函数2设置毫秒。
myVar = setInterval(function1, function2);
下面的例子是我想要做的。这不起作用。返回页面上的“口吃”。
实施例#1 https://thehighcountrydiscgolfclub.com/friends/jiesen/example01.html
任何指导被理解。 即使这是一个更好的方式来问这个问题...
这是收音机组,选择菜单和按钮的html。
<input type="radio" value="chime-04" name="rad" onclick="soundSelect(this.value);" checked="checked">Chime
<input type="radio" value="bell-04" name="rad" onclick="soundSelect(this.value);">Bell
<input type="radio" value="bleep-04" name="rad" onclick="soundSelect(this.value);">Bleep
<br>
<audio id="audio">
<source src="" type="audio/ogg">
<source src="" type="audio/wav">
<source src="chime-04.mp3" type="audio/mpeg" id="sound">
</audio>
<br>
<select id="space">
<option value="4000">0:04 Seconds</option>
<option value="6000">0:06 Seconds</option>
<option value="8000">0:08 Seconds</option>
</select>
<br>
<button type="button" id="toggle" onclick="runSoundInterval()">Play/Pause</button>
function soundSelect(val){
var audio = document.getElementById("audio");
var aud = document.getElementById("sound");
aud.src=val+".mp3";
audio.load();
audio.play();
}
function intervalSelect(val){
var space = document.getElementById("space");
var value = space.options[space.selectedIndex].value;
}
function runSoundInterval() {
myVar = setInterval(soundSelect, intervalSelect);
}
在这里,我尝试将三个函数凝聚成一个函数。我喜欢。单选按钮播放声音并提醒正确选择的选择菜单值,但不会重复播放声音。按钮仅返回警报,但没有声音,也没有重复。请注意,我试图从“value”中提取setInterval毫秒。添加警报以证明从选择菜单中选择了正确的值。警报只是一个测试,将来需要删除。不完全工作。
实施例#2 https://thehighcountrydiscgolfclub.com/friends/jiesen/example02.html
function soundSelect(val){
var space = document.getElementById("space");
var value = space.options[space.selectedIndex].value;
alert(value);
var audio = document.getElementById("audio");
var aud = document.getElementById("sound");
aud.src=val+".mp3";
audio.load();
audio.play();
}
window.setInterval(soundSelect, value);
的第二个参数被认为是一个数。它可以是任何返回数字的表达式,包括函数* call *,而不是函数*引用*。但即使你调用了'intervalSelect()'函数,它也不会返回一个值,或者实际上做了任何有用的事情,因为它只是将值分配给* local *变量,然后不被使用。顺便说一下,你可以用'space.value'获取你选择的元素的当前值,不需要通过'.options'集合。 – nnnnnn
@ nnnnnn- IIRC,* selectedIndex *路径是一些古代版本的Netscape Navigator所必需的,令人惊讶的是这些模因如何持续存在。 – RobG
@RobG - 是的,我记得在IE浏览器的版本4左右。 – nnnnnn