Dvz shoutbox声音开/关开关具有保存价值

时间:2017-11-27 17:16:23

标签: javascript jquery html css

我希望在喊叫到达时发出shoutbox声音。我有一个脚本和我的按钮,但我不能使脚本工作。 声音脚本是:

timedelta

它有效,但是我想添加on / of开关来打开和关闭这个脚本,我也希望在它打开和关闭时设置它。 我的css看起来像这样:

dvz_shoutbox.callbacks['update'].push(function(){
if ($('#shoutbox .entry.new').length) {
    var audio = new Audio(rootpath + '/images/dvz_shoutbox.mp3');
    audio.volume = 0.2;
    audio.play();
}});

button.unmuted,button.muted { vertical-align: middle; padding: 0px 15px; background: #060922; line-height: 30px; margin-top: -42px; margin-left: 148px; position: absolute;}

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

假设您的HTML中只有一个button,则需要将点击事件处理程序附加到button。只要单击muted,处理程序就会切换类unmutedbutton

然后,在创建音频的回调中,您可以查看button是否包含类muted。如果是,则不要播放声音。

总而言之,您的代码看起来如此:

dvz_shoutbox.callbacks['update'].push(function(){

    var $button = $("button");

    if ($button.length && $button.hasClass("unmuted")) { // checck if unmuted
        var audio = new Audio(rootpath + '/images/dvz_shoutbox.mp3');
        audio.volume = 0.2;
        audio.play();
    }
});

$("button").click(function() { // adds click handler

    var $this = $(this);

    $this.toggleClass("muted");
    $this.toggleClass("unmuted");
});

注意:为了使上述代码有效,请确保您的button在HTML中以类unmuted开头。