我尝试了两种不同的方法来切换播放器上的播放/暂停按钮,但出于某种原因,这两种方法都不适用于第一次点击。
这个,据说检查音频的状态,看看它是暂停还是结束:
function togglePlayPause() {
var audioPlayer = document.getElementsByTagName('audio')[0];
var playpause = document.getElementById("playpause");
if (audioPlayer.paused || audioPlayer.ended) {
playpause.title = "pause";
playpause.innerHTML = "pause";
}
else {
playpause.title = "play";
playpause.innerHTML = "play";
}
}
或者我试过这个,它只是通过 onClick 切换toggle(this)
:
function toggle(obj) {
if (obj.className== 'playButton') {
obj.className = 'pauseButton';
obj.title = "PAUSE";
obj.innerHTML = "PAUSE";
} else {
obj.className = 'playButton';
obj.title = "PLAY";
obj.innerHTML = "PLAY";
}
}
第一次单击按钮时都不会切换,尽管第一种方法确实从默认的内部“播放”更改为“播放”,所以我猜这是:
<a href="#" id="start" onclick="playPause();togglePlayPause();"><div title="play" class="playButton" id="playpause">PLAY</div></a>
在这两种方法中,后续点击都可以正常工作。知道为什么会这样吗?它可能与调用 audioPlayer 变量的方式有关吗?数组从 0 开始。(我抓着稻草。)
像往常一样非常感谢!