Play/Pause onclick,但只有一次?
Play/Pause on onclick, but only once?
以下代码播放和停止一个音频文件,但只播放一次。 (1 次播放,1 次暂停)。有没有办法定期play/pause?
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
,因为您将它用作全局变量(window 对象有一个 属性 称为状态),分配给它的值将被转换为字符串。
所以当你应用 status = false
时,分配的实际值将是 status = '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>
以下代码播放和停止一个音频文件,但只播放一次。 (1 次播放,1 次暂停)。有没有办法定期play/pause?
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
,因为您将它用作全局变量(window 对象有一个 属性 称为状态),分配给它的值将被转换为字符串。
所以当你应用 status = false
时,分配的实际值将是 status = '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>