按钮内的setInterval和clearInterval

时间:2014-10-11 09:17:46

标签: javascript

setInterval工作正常,音频启动但不停止。 clearInterval没有 - 音频继续,永远。我试过几种不同的方法,但没有用。建议,好吗?

谢谢!

<audio id="soundEffect" src="Whoosh.mp3"></audio>
<button onclick="setInterval(function(){playAudio()}, 1000)">Start Audio</button>
<button onclick="clearInterval(function(){playAudio()}">Stop Audio</button>




<script type="text/javascript">

        function playAudio() {
            document.getElementById("soundEffect").play();

        }

</script>

2 个答案:

答案 0 :(得分:0)

您只能停止带有ID的间隔。

试试这个:

<audio id="soundEffect" src="Whoosh.mp3"></audio>
<button onclick="startLoop()">Start Audio</button>
<button onclick="stopLoop()">Stop Audio</button>




<script type="text/javascript">

        var intervalId;

        function startLoop() {
             intervalId = setInterval(playAudio, 1000);
        }

        function stopLoop() {
             clearInterval(intervalId);
        }

        function playAudio() {
            document.getElementById("soundEffect").play();

        }

</script>

答案 1 :(得分:0)

这个怎么样:

<audio id="soundEffect" src="Whoosh.mp3"></audio>
<button onclick="startInterval()">Start Audio</button>
<button onclick="stopInterval()">Stop Audio</button>




<script type="text/javascript">
    var interval = '';
    function startInterval(){
        interval = setInterval(function(){playAudio()}, 1000);
    }

    function stopInterval(){
        clearInerval(interval);
    }

    function playAudio() {
        document.getElementById("soundEffect").play();
    }
</script>