gpt4 book ai didi

javascript - 播放/暂停onclick,但只有一次?

转载 作者:行者123 更新时间:2023-12-03 02:30:48 26 4
gpt4 key购买 nike

以下代码播放和停止音频文件,但仅播放一次。 (1次播放,1次暂停)。有没有办法定期播放/暂停?

function audioHandler(){
var audio = document.getElementById("myaudio");
if(status == false){
audio.style.display="block";
audio.play();
status = true;
}
else {
audio.style.display="none";
audio.pause();
status = false;
}
}

不是那么重要,但是我也想将播放更改为暂停图标并向后...
<a href="#" onclick="audioHandler()"><img src="play.png"></a>

最佳答案

问题是全局变量status,因为您将其用作全局变量(窗口对象具有称为status的属性),所以分配给它的值将转换为字符串。

因此,当您应用status = false时,分配的实际值将是status = 'false';,它将始终为真,即'false' == false将为false,因此您的if块将永远不会再次执行!

因此,只要将变量status重命名为其他名称,它就应该起作用

var aStatus = false;
function audioHandler() {
var audio = document.getElementById("myaudio");
var audioimg = document.getElementById("myaudioimg");
if (aStatus == false) {
audio.style.display = "block";
audio.play();
aStatus = true;
audioimg.src = "pause.png"
} else {
audio.style.display = "none";
audio.pause();
aStatus = false;
audioimg.src = "play.png"
}
}

然后
<a href="#" onclick="audioHandler()"><img id="myaudioimg" src="play.png" /></a>

关于javascript - 播放/暂停onclick,但只有一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28742303/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com