实际上我一直在努力制作“喜欢”按钮,每次点击都会增加或减少计数,我面临的问题是,一个按钮对其他按钮的干扰。这是我的一个按钮的 html 代码:
<button class="btn btn-default buttonattr"style="font-family:Pangolin" onclick="myhit1(\''+this["post"]+'\',\''+this["id"]+'\',\''+this["love"]+'\');myclick()">
<span class="glyphicon glyphicon-heart fa-lg active1"></span> Love
</button>;
其中 myhit()
和 myclick()
是 javascript 函数,在单击此按钮时调用。这是我的 javascript 函数:
var toAdd=1;var newValue=0;
var overall=1;var pvalue=0;
function myhit(post,id,love){
oldValue=parseInt(love);
if(toAdd>0){
newValue=oldValue+toAdd;
}
else{
newValue= overall + toAdd;
}
pvalue=pvalue+toAdd;
toAdd*=-1;
overall=newValue;
$.post('porthome4_.php',{post1:post,id1:id,love:newValue,plove:pvalue},function(info){});
}
我为每个帖子制作了更多“赞”按钮。问题是例如。如果我点击一个按钮,计数器从 0->1 状态增加,但如果点击另一个按钮,它的状态变化是荒谬的,我知道原因是 toAdd
变量状态从 + 1 到 -1 因为每次单击按钮时它的状态都会改变,如果只有 1 个按钮但它会工作正常
对于多个按钮,这是行不通的...有人可以建议我更好的方法来解决这个问题,或者我的功能代码的变化将更加感激。如果有人帮忙,我会很高兴。谢谢你
最佳答案
<button class="btn btn-default buttonattr"style="font-family:Pangolin" data-state="1" onclick="myhit1(\''+this["post"]+'\',\''+this["id"]+'\',\''+this["love"]+'\');myclick()">
<span class="glyphicon glyphicon-heart fa-lg active1"></span> Love
</button>
var newValue=0;
var overall=1;
var pvalue=0;
function myhit(post,id,love)
{
oldValue = parseInt(love);
var toAdd = parseInt($(this).attr("data-state"));
if(toAdd>0)
{
newValue=oldValue+toAdd;
}
else
{
newValue= overall + toAdd;
}
pvalue=pvalue+toAdd;
toAdd*=-1;
overall=newValue;
$(this).attr("data-state",toAdd);
$.post('porthome4_.php',{post1:post,id1:id,love:newValue,plove:pvalue},function(info){});
}
关于javascript - 如何在 jquery 中使两个计数器按钮相互独立?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45282468/