Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何增加喜欢与否;痛恨_Javascript_Php_Jquery - Fatal编程技术网

Javascript 如何增加喜欢与否;痛恨

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

我在每个帖子上都有一个按钮

1) 喜欢按钮

如果用户已经喜欢该帖子,则会显示“不喜欢”按钮

如果用户不喜欢这篇文章,这里是HTML部分

<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) {}
        })
    });
});