[问题] 弱弱的问个setInterval的问题

楼主: iamshuichi (vincent)   2016-11-19 00:47:31
<audio id="audio" src="1.mp3"></audio>
<input type="submit" onclick="int" />
<button onclick="clearInterval(int)">Stop interval</button>
<script>
var audio = document.getElementById("audio");
var int;
int = setInterval("play()", 1000);
function play() {
audio.play();
}
</script>
我想制作一个每秒响一次的程式
有2个问题想请教
1. 如何让它不要加载后自动执行,等我点击再开始播放?
2. 当我运行clearInterval之后,为什么没办法再次执行setInterval了?
新手发问,还请版上大大指点一二
作者: aspdoctor (大崎)   2016-11-19 01:38:00
把setInterval放到一个function 里
作者: Hevak (Arthow Eshes)   2016-11-19 11:05:00
onClick里面要放function,可是你int是一个存有setInterval回传的物件的变量,而不是function,你onclick下去当然不会执行。所以2的问题单纯是你把回传的物件和function搞混试试看像这样:首先button那边onClick="playInterval()"后面定义一个function就叫playInterval来专门处理这个问题var playTimer;var playInterval = function () {playTimer = setInterval(function () {audio.play();}, 1000);}这样只有你特地呼叫playInterval这个function的时候才会执行里面那些像是什么setInterval之类的内容当然因为我上面变量名称有换过,clearInterval()里面也要传对应的变量名称才行
楼主: iamshuichi (vincent)   2016-11-19 13:58:00
可以了,非常感谢 ^ ^

Links booklink

Contact Us: admin [ a t ] ucptt.com