2012-07-01 99 views
0

的結果我現在有這個IF語句不改變變量

$(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"; 
     } 
    }); 
}); 

但是,當我點擊喜歡按鈕,它更新等等計數器,也是變量(我已經通過登錄檢查過這一點)但是,當被第二次點擊時,它不屬於if語句的第二部分,而只是表現得好像like =「like」一樣。

回答

4

您正在分配=,而不是比較==

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

注意,您必須聲明的變量likewindow範圍,因爲你沒有使用var關鍵字。如果它只應用於ready()函數,則在ready()函數內使用var like = 'like';。如果您打算在window範圍內使用,則建議在ready()函數之外使用var關鍵字。

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

你不知道我有多大的傻瓜感覺。我記得當我學習PHP時做這件事。你是陛下,是一位聖人。 – Harry