【发布时间】:2013-12-30 10:35:39
【问题描述】:
我正在尝试为音频创建一个切换开关,根据状态替换图标。这是我的代码(不起作用):
<div id="bgAudioControls">
<a href="#" onclick="muteSound()">
<img id="mute" src="img/sound-off.svg" width="64" height="64" alt="Sound Off" />
</a>
<audio id="bgAudio" autoplay loop preload src="ogg/epic-lead.ogg" type="audio/ogg">
Your browser does not support the audio element.
</audio>
</div>
<script language="javascript">
function muteSound() {
if (document.getElementById("mute").src == "img/sound-off.svg")
{
document.getElementById("unmute").src = "img/sound-on.svg";
document.getElementById('bgAudio').muted = true;
}
else
{
document.getElementById("mute").src = "img/sound-off.svg";
document.getElementById('bgAudio').muted = false;
}
}
</script>
我很肯定我忽略了一些超级简单的东西。任何帮助表示赞赏。
可以在http://arc.adamroper.com查看整个运行代码的实时视图
以下代码有效 - 尽管是两个按钮,而不是切换按钮。
<a href="#" onclick="document.getElementById('bgAudio').muted = true;">Mute</a>
<a href="#" onclick="document.getElementById('bgAudio').muted = false;">Unmute</a>
【问题讨论】:
-
或者,使用 JS 变量来记住静音状态并相应地切换音频,不要依赖某些 DOM 属性。
标签: javascript html html5-audio