我目前有这个
$(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" 仍然?
您正在分配=
,而不是比较==
。
if(like = "like"){
// Should be
if(like == "like"){
//------^^^
请注意,您已经将变量like
声明到window
范围,因为您没有使用 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...
});