2014-10-11 2 views
0

setInterval работает, звук запускается и не останавливается. clearInterval не делает - звук продолжается, навсегда. Я пробовал несколько разных способов, но безрезультатно. Совет, пожалуйста?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> 
+1

Вы используете неправильный синтаксис. 'clearInterval' ожидает, что параметр будет возвращен числом' setInterval' – hindmost

+0

[** READ THIS **] (http://www.w3schools.com/jsref/met_win_clearinterval.asp). Описание. Чтобы использовать метод clearInterval(), вы должны использовать глобальную переменную при создании метода интервалов. – myfunkyside

ответ

0

Вы можете только остановить интервал с идентификатором.

Попробуйте это:

<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> 
+0

Ударьте меня на пару секунд! –

+0

спасибо, friedi! – icor103

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> 
+0

Спасибо, Гангурде! – icor103

Смежные вопросы