我目前有这个
$(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语句的第二部分,而是它只是表现得像是“喜欢”还在吗?
答案 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...
});