Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.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/3/html/75.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 如何修复未激活的else语句_Javascript_Html - Fatal编程技术网

Javascript 如何修复未激活的else语句

Javascript 如何修复未激活的else语句,javascript,html,Javascript,Html,我正在尝试为我的背景音频创建一个切换开关,而某个else语句将不起作用 我尝试过使用else/else-if并以多种方式设置它,但似乎没有任何效果 function toggle() { if (!play()) { play(); } //HERE IS THE ONE NOT WORKING// else { mute(); } } function play() { //Sound Icon

我正在尝试为我的背景音频创建一个切换开关,而某个else语句将不起作用

我尝试过使用else/else-if并以多种方式设置它,但似乎没有任何效果

function toggle() 
{

    if (!play()) {
        play();
    }
         //HERE IS THE ONE NOT WORKING//
    else {
        mute();
    }
}


function play() 
{
    //Sound Icon
    document.getElementById('muteB').src = 'MuteOff.png';
    //Play Music
    document.getElementById('mplayer').innerHTML = ('<source src="GameTheme.mp3" type="audio/mp3">');
}

    //MUTE FUNCTION
function mute() 
{
    //Sound Off Icon
    document.getElementById('muteB').src = 'MuteOn.png';
    //Stop Music
    document.getElementById('mplayer').innerHTML = ('');
}
函数切换()
{
如果(!play()){
play();
}
//这是一个不起作用的//
否则{
静音();
}
}
函数播放()
{
//声音图标
document.getElementById('muteB').src='MuteOff.png';
//演奏音乐
document.getElementById('mplayer')。innerHTML=('');
}
//静音功能
函数mute()
{
//发声图标
document.getElementById('muteB').src='MuteOn.png';
//停止音乐
document.getElementById('mplayer')。innerHTML=('');
}
HTML

<img id="muteB" src="MuteOn.png" onclick="toggle()" />


我希望toggle()函数能够实际切换音频,但我只能将其打开,而不能关闭。

您需要创建一个全局变量
isplay
,并相应地在两个函数
play
mute
中进行更改

让isplay=false;
函数切换(){
如果(!显示){
play();
}
//这是一个不起作用的//
否则{
静音();
}
}
函数播放(){
//声音图标
document.getElementById('muteB').src='MuteOff.png';
//演奏音乐
document.getElementById('mplayer')。innerHTML=('');
isplay=true;
}
//静音功能
函数mute(){
//发声图标
document.getElementById('muteB').src='MuteOn.png';
//停止音乐
document.getElementById('mplayer')。innerHTML=('');
isplay=false;

}
您需要创建一个全局变量
isplay
,并相应地在两个函数
play
mute

让isplay=false;
函数切换(){
如果(!显示){
play();
}
//这是一个不起作用的//
否则{
静音();
}
}
函数播放(){
//声音图标
document.getElementById('muteB').src='MuteOff.png';
//演奏音乐
document.getElementById('mplayer')。innerHTML=('');
isplay=true;
}
//静音功能
函数mute(){
//发声图标
document.getElementById('muteB').src='MuteOn.png';
//停止音乐
document.getElementById('mplayer')。innerHTML=('');
isplay=false;

}
如果(!play())
但是
play
没有返回任何东西对不起,如果这很明显,我会返回什么?你的逻辑真的没有意义。。。你所说的基本上是。。。。运行
play
方法,如果结果不正确,请再次运行
play
方法,否则运行
mute
方法。因此,如果
play
方法的结果为false,您可以运行它两次。好的,谢谢您的反馈!如果(!play())但是
play
没有返回任何东西对不起,如果很明显,我会返回什么呢?你的逻辑真的没有意义。。。你所说的基本上是。。。。运行
play
方法,如果结果不正确,请再次运行
play
方法,否则运行
mute
方法。因此,如果
play
方法的结果为false,您可以运行它两次。好的,谢谢您的反馈!我相信我已经大致弄明白了。