Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 取消选中复选框时声音未静音_Javascript_Jquery_Html5 Audio - Fatal编程技术网

Javascript 取消选中复选框时声音未静音

Javascript 取消选中复选框时声音未静音,javascript,jquery,html5-audio,Javascript,Jquery,Html5 Audio,我正在创建一个游戏,当开始屏幕出现时,一些音乐开始播放。现在,我还在开始屏幕中添加了一个复选框。选中此复选框时,应播放音乐如果未选中,则不应播放音乐 我对此有以下代码: // Show the start screen and play some music. game.start(game.DEMO_MODE); if (document.getElementById('music').checked){ //check if checkbox is checked music.pla

我正在创建一个游戏,当开始屏幕出现时,一些音乐开始播放。现在,我还在开始屏幕中添加了一个复选框。选中此复选框时,应播放音乐如果未选中,则不应播放音乐

我对此有以下代码:

// Show the start screen and play some music.
game.start(game.DEMO_MODE);
if (document.getElementById('music').checked){ //check if checkbox is checked
    music.play();
    music.loop(); //Loop the music
}
此代码检查gameload是否选中复选框,如果选中,则播放音乐。这很好,但只有在游戏加载的时候。如果在开始屏幕中选中复选框,并且有人未选中它,则音乐将继续播放。除非他重新加载游戏,否则声音将静音

显然我不想要这个。取消选中复选框时,声音应停止,反之亦然

我认为这个问题可以通过使用jQuery的
.bind('change',function(){
来解决,但我没有成功。我希望这里的人知道需要添加什么

复选框的代码(它还将其选中/未选中状态存储到cookie或本地存储):

如何解决这个问题

亲切问候,

莫里斯

$("#music").on('change', function() {
    if (this.checked) {
        music.play();
        music.loop();
    }else{
        music.stop();
    }
});
$("#music").on('change', function() {
    if (this.checked) {
        music.play();
        music.loop();
    }else{
        music.stop();
    }
});