IF语句不改变变量的结果

时间:2012-07-01 21:01:33

标签: php javascript jquery html

我目前有这个

$(document).ready(function(){

like = "like";
current_likes = parseInt(50);
    $("#add-love").click(function(){
        if(like = "like"){
            $("#my_like").removeClass('hidden-profile');
            current_likes++;
            $("#like_count").html(current_likes);
            like = "unlike";
            console.log(like);
        }else{
            $("#my_like").addClass('hidden-profile');
            current_likes--;
            $("#like_count").html(current_likes);
            like = "like";
        }
    });
});

但是,当我单击like按钮时,它会更新类似的计数器以及变量(我通过记录它来检查它)但是当它第二次被点击时它不会落入if语句的第二部分,而是它只是表现得像是“喜欢”还在吗?

1 个答案:

答案 0 :(得分:4)

您要分配=,而不是比较==

if(like = "like"){
// Should be
if(like == "like"){
//------^^^

请注意,您已将变量like声明为window范围,因为您未使用var关键字。如果它应仅限于ready()函数,请在var like = 'like';函数内使用ready()。如果您确实打算window范围,建议您使用var功能之外的ready()关键字。

// Declare at higher scope
var like;  
$(document).ready(function(){
  // And access in the function...
  like = "like";
  current_likes = parseInt(50);
  //etc...
  //etc...
});