我可以在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