如何在html中创建一个静音/取消静音按钮(如youtube)

时间:2014-04-07 16:40:21

标签: html css webpage frontend web-frontend

我正在创建一个网站,我把背景音乐,我的问题是我不知道如何创建一个按钮(只有一个)来静音/取消静音。我希望有一个静音按钮可以根据情况静音/取消静音(如果音乐被静音,那么按钮应该有一个扬声器的图像,用于听到声音,如果按下它然后你开始听音乐和按钮的图像改变,反之亦然)

我现在拥有的是:

<td width=10% valign="top" align="right">
                            <img  src="images/sonidoON.png" onclick="this.src='images/sonidoOFF.png'" width=30% height=7%>
                        </td>

我只需要知道如何创建该按钮,而不是背景音乐的功能。

非常感谢您提前

2 个答案:

答案 0 :(得分:3)

<强> HTML

<input type="checkbox" name="un-mute" id="un-mute">
<label for="un-mute" class="unmute">
    <img src="http://upload.wikimedia.org/wikipedia/commons/3/3f/Mute_Icon.svg" alt="Mute_Icon.svg" title="Mute icon">
</label>
<label for="un-mute" class="mute">
    <img src="http://upload.wikimedia.org/wikipedia/commons/2/21/Speaker_Icon.svg" alt="Speaker_Icon.svg" title="Unmute/speaker icon">
</label>

<强> CSS

input#un-mute {
  display: none;
}

.unmute img {
  display: none;
}

input#un-mute:checked ~ .unmute img {
  display: initial;
}

input#un-mute:checked ~ .mute img {
  display: none;
}

<强>的JavaScript

var un_mute = document.getElementById('un-mute');

un_mute.onclick = function() {
   alert('toggle player here');
};

http://jsfiddle.net/Ffccv/2/

使用:checked伪类选择器

答案 1 :(得分:0)

你可以这样做来切换它们

<script>
function toggleSound(img)
{
   img.src= img.src=="images/sonidoON.png" ? "images/sonidoOFF.png" : "images/sonidoON.png";
}
</script>

onclick="toggleSound(this);"或从脚本创建img并使用addEventListener ("click",toggleSound())

<td width=10% valign="top" align="right">
                            <img  src="images/sonidoON.png" onclick="toggleSound(this);" width=30% height=7%>
                        </td>

小提示演示:http://jsfiddle.net/K9553/