Javascript 如何增加喜欢与否;痛恨
我在每个帖子上都有一个按钮 1) 喜欢按钮 如果用户已经喜欢该帖子,则会显示“不喜欢”按钮 如果用户不喜欢这篇文章,这里是HTML部分Javascript 如何增加喜欢与否;痛恨,javascript,php,jquery,Javascript,Php,Jquery,我在每个帖子上都有一个按钮 1) 喜欢按钮 如果用户已经喜欢该帖子,则会显示“不喜欢”按钮 如果用户不喜欢这篇文章,这里是HTML部分 <a href="javascript:void(0);" id="liker" data-count="0" data-fpc="481" data-id="cDJod1RnUU45eXBQWmp">Like</a> 下面部分发送不同的请求 $(function() { $("body").on("click", "#like
<a href="javascript:void(0);" id="liker" data-count="0" data-fpc="481" data-id="cDJod1RnUU45eXBQWmp">Like</a>
下面部分发送不同的请求
$(function() {
$("body").on("click", "#liker", function() {
var t = $(this).data("id"),
a = $(this).data("count"),
f = $(this).data("fpc");
a++;
$("#cyli" + f).text(a);
$(this).attr('id', 'unliker');
$(this).data('count', a);
$(this).text('Unlike');
i = this, $.ajax({
type: "POST",
url: "/ajax/liker?io=" + t,
data: "id=" + t,
success: function(t) {}
})
});
});
$(function() {
$("body").on("click", "#unliker", function() {
var t = $(this).data("id"),
a = $(this).data("count"),
f = $(this).data("fpc");
a -= 1;
$("#cyli" + f).text(a);
$(this).attr("id", "liker");
$(this).data('count', a);
$(this).text("Like");
i = this, $.ajax({
type: "POST",
url: "/ajax/unliker?io=" + t,
data: "id=" + t,
success: function(t) {}
})
});
});
Like值显示在此标记中0
现在的问题是,当我单击“喜欢”或“不喜欢”时,值没有正确地添加或扣除
例如,如果data count=“0”,这意味着这篇文章中没有类似的内容,但当我单击它时,它会自动变为2,然后如果我单击“不像”按钮,它会变为-1。如果您只需将
$(this).data(“count”)
和$(this).data(“count”,a)
更改为$(this).attr(“数据计数”)
和$(this).attr(“数据计数”,a)
请尝试以下代码:
$(函数(){
$(“body”)。在(“click”、“#liker”,function()上{
var t=$(this).data(“id”),
a=$(this.attr(“数据计数”),
f=$(此)。数据(“fpc”);
a++;
$(#cyli+f);
$(this.attr('id','unlinker');
$(this.attr('data-count',a);
$(this.text('不象');
i=这个,$.ajax({
类型:“POST”,
url:“/ajax/liker?io=“+t,
数据:“id=”+t,
成功:函数(t){}
})
});
});
$(函数(){
$(“body”)。在(“单击”,“取消链接”,函数()上){
var t=$(this).data(“id”),
a=$(this.attr(“数据计数”),
f=$(此)。数据(“fpc”);
a-=1;
$(#cyli+f);
$(this.attr(“id”,“liker”);
$(this.attr('data-count',a);
$(此).text(“Like”);
i=这个,$.ajax({
类型:“POST”,
url:“/ajax/unlinker?io=“+t,
数据:“id=”+t,
成功:函数(t){}
})
});
});
0
为什么不干脆用a=1
&a=0
替换a++
&a=1
?它并不完美,也不能回答你的问题,但确实解决了问题
$(function() {
$("body").on("click", "#unliker", function() {
var t = $(this).data("id"),
a = $(this).data("count"),
f = $(this).data("fpc");
a -= 1;
$("#cyli" + f).text(a);
$(this).attr("id", "liker");
$(this).data('count', a);
$(this).text("Like");
i = this, $.ajax({
type: "POST",
url: "/ajax/unliker?io=" + t,
data: "id=" + t,
success: function(t) {}
})
});
});