Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.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_Html_Css_Ajax - Fatal编程技术网

多个框上类似javascript的按钮

多个框上类似javascript的按钮,javascript,html,css,ajax,Javascript,Html,Css,Ajax,我正在创建一个显示文章/图库等的web应用程序,在每篇文章上都有一个类似类型的按钮,它使用ajax更新数据库,这一切都很好,我遇到的问题是当按下按钮时,类似数量会发生变化。它可以工作,但会随着页面上文章的数量而增加 HTML 发生这种情况是因为假设我在页面上有三个图像,每个图像都有一个like按钮,那么计数将增加3。是不是因为类中有三个元素,所以它会在js中运行三次?如果是这样的话,你会怎么阻止它,并且只做一次 谢谢你看,非常感谢 干杯 Shuka你是否不止一次附加点击事件?这是你点击按钮的时候

我正在创建一个显示文章/图库等的web应用程序,在每篇文章上都有一个类似类型的按钮,它使用ajax更新数据库,这一切都很好,我遇到的问题是当按下按钮时,类似数量会发生变化。它可以工作,但会随着页面上文章的数量而增加

HTML

发生这种情况是因为假设我在页面上有三个图像,每个图像都有一个like按钮,那么计数将增加3。是不是因为类中有三个元素,所以它会在js中运行三次?如果是这样的话,你会怎么阻止它,并且只做一次

谢谢你看,非常感谢 干杯
Shuka

你是否不止一次附加点击事件?这是你点击按钮的时候。我刚刚检查了一下,我把js放在了while循环中,所以把它移出,它现在开始工作了。谢谢@epascarello
 <div class="imgStats">
    <div class="imgLike" id="unlike<?=$img['id'];?>" style="display:none;"><a href="#" class="unlike" id="<?=$img['id'];?>"><img src="img/like-btn.png"  align="absmiddle" /></a></div>
    <div class="imgLike" id="like<?=$img['id'];?>"><a href="#" class="like" id="<?=$img['id'];?>"><img src="img/-like-btn-outline.png" width="" /></a></div>
</div>
$(function() {
$(".like").click(function()
{
var img_id = $(this).attr("id");
var datastring = 'img_id='+ img_id ;

var imgLikeCount = document.getElementById('imgCot'+ img_id).innerHTML;
imgLikeCount++;

$.ajax({
type: "POST",
url: "../../../inc/like.php",
data: datastring,
success: function(html){}
});
$("#like"+img_id).hide();
$("#unlike"+img_id).show();
$("#imgCot"+img_id).html(imgLikeCount);
return false;
});
});