否则/否则如果不工作

时间:2017-05-05 00:01:31

标签: javascript jquery if-statement

当我点击一段文字时,此代码会运行。第一个如果有效,但第二个不想执行。

if (music = true) {
    music = false;
    $('#musicButton').html("Music: Off")
}
if (music = false) {
    music = true;
    $('#musicButton').html("Music: On")
}

我尝试了if if else,但似乎都没有。

4 个答案:

答案 0 :(得分:2)

你应该使用if else语句来减少重复代码。此外,您还要分配音乐而不是测试音乐。在JavaScript中,您必须使用===运算符来比较两个项目。您甚至不需要===运算符,因为您正在检查项是否为真,因此您只需将变量封装为()



music = true;
$("button").click(function () {
  if (music) {
      music = false;
      $('#musicButton').html("Music: Off")
  }
  else {
      music = true;
      $('#musicButton').html("Music: On")
  }
}).click();

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="musicButton"></div>
<button>Click Me</button>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

请记住,大多数语言的比较都是通过double = ...'x == y'。

完成的

使用单个'='

完成分配

答案 2 :(得分:1)

=用作赋值运算符。为了比较,您应该使用==或===

if (music === true) {
    music = false;
    $('#musicButton').html("Music: Off")
}
if (music === false) {
    music = true;
    $('#musicButton').html("Music: On")
}

if (music == true) {
    music = false;
    $('#musicButton').html("Music: Off")
}
else if (music == false) {
    music = true;
    $('#musicButton').html("Music: On")
}

答案 3 :(得分:0)

您应该更改下面的代码,在发生之前将其更改为false,还需要使用===,这样下面的内容可能对您有用:

if (music === true) {
    $('#musicButton').html("Music: Off");
    music = false;
} else{
   $('#musicButton').html("Music: On");
   music = true;
}