如果在Javascript中有Else语句

时间:2013-08-02 05:57:41

标签: javascript jquery html css

我在我的网站上创建了一个开关。它像灯开关一样工作。当人们点击它时,背景颜色和某些文本段落的颜色会切换为不同的颜色。我编写了下面的代码并成功完成了任务:

  $(".clickme").click(function () {      
     $('html').css('background-color', 'black');
     $('#top_nav a').css('color', '#ff7b00');
     $('.back_face').css('background-color', 'black');
     return false;
  });

但现在我想重新开灯。我创建了一个名为lighton的var,并将其设置为0.我尝试使用if else语句来完成任务,但它不起作用。下面是我编写的代码并失败了:

<a href="" class="clickme">Click me</a>

<script>    
  $(".clickme").click(function () {    
  var lightoff = 0;   
  if (lightoff=0){    
      $('html').css('background-color', 'black');
      $('#top_nav a').css('color', '#ff7b00');
      $('.back_face').css('background-color', 'black');
      lightoff = 1;
      return false;    
 }else{

      $('html').css('background-color', 'white');
      $('#top_nav a').css('color', 'black');
      $('.back_face').css('background-color', 'white');
      lightoff = 0;
      return false;
   }
});

</script>

我最近刚开始学习JavaScript,并且检查了JavaScript Conditional Statements语法。所以我希望有人知道我的代码有什么问题。非常感谢你。

5 个答案:

答案 0 :(得分:5)

您需要使用if (lightoff==0){

=是赋值运算符,而==是比较运算符。

在条件中使用赋值运算符时,将评估指定的值,因此(lightoff=0)将始终计算为0,然后将其转换为false。在条件内使用赋值运算符的最常见情况是在分配函数的返回值时,例如, ( lightoff = checkIfLightIsOff() )

答案 1 :(得分:3)

由于您希望在多次调用回调方法时使用lightoff的值,因此应该定义处理程序方法的范围,以便对该方法的多次调用将共享同一个{ {1}}

同样@zzlalani指出lightoff运算符代表赋值,你需要的是比较运算符=

应该是

==

答案 2 :(得分:1)

我不是Javascript专家,但看起来你使用'='代替“==”,这会将变量设置为0而不是比较它。

答案 3 :(得分:0)

而不是=您应该使用=====

  • =是赋值运算符

  • ==等于ie,
     x == 8假
     x == 5 true

  • ===完全等于(等值和相等的类型)ie,
      x ===“5”假
    x === 5 true

其他一些案例:

'' == '0'           // false
0 == ''             // true
0 == '0'            // true

false == 'false'    // false
false == '0'        // true

false == undefined  // false
false == null       // false
null == undefined   // true

答案 4 :(得分:0)

另一种方法是toggle事件

$(".clickme").toggle(function () {    
    $('html').css('background-color', 'black');
    $('#top_nav a').css('color', '#ff7b00');
    $('.back_face').css('background-color', 'black');
    return false;    
}, function() {
    $('html').css('background-color', 'white');
    $('#top_nav a').css('color', 'black');
    $('.back_face').css('background-color', 'white');
    return false;
});