如何停止 onclick 函数

How to stop an onended function onclick

我有一个 onclick 随机播放功能,每次音频结束时都会执行。一切正常,但我想制作另一个停止执行的按钮。

请帮忙举个例子

完整代码:

<button onclick="test();stats();auto()">Shuffle</button>

<button id="abort" onclick='exitauto()'>Stop Shuffle</button>
<script>

function exitauto(){
  

}

</script>

<script>
function stats() {
if(document.getElementById("audio").src == "test.mp3")
{
      document.getElementById("p2").innerHTML = "some song";
 document.getElementById("playerimg").src="img.png";

   };
}

</script>

<script>
function auto(){
var aud = document.getElementById("audio");
aud.onended = function shuf() {
    test();
    stats();
    };
}

</script>
<script>

function test() {
    var values = ['test.mp3',  
 ],
        
        valueToUse = values[Math.floor(Math.random() * values.length)];

  document.getElementById("audio").pause();
     document.getElementById("audio").setAttribute('src', valueToUse);
     document.getElementById("audio").load();
     document.getElementById("audio").play();
     
  };

</script>

你可以添加一个全局变量来决定是否调用auto函数中的test()和stats()函数。您可以在单击开始时将该变量设置为 true,在单击停止时将该变量设置为 false