Jquery 每单击一项仅增加一次计数器
下面的代码基本上会在单击具有单个类的项时递增计数器。有许多项目只有一个类。我需要做的是,即使单个项目被多次单击,如何使计数器增加一次,这是我无法理解的Jquery 每单击一项仅增加一次计数器,jquery,Jquery,下面的代码基本上会在单击具有单个类的项时递增计数器。有许多项目只有一个类。我需要做的是,即使单个项目被多次单击,如何使计数器增加一次,这是我无法理解的 var counter = parseInt($.trim($(".counter").html())); items.click(function(){ if($(this).hasClass("single")) { $(this).addClass("selected"); //increment
var counter = parseInt($.trim($(".counter").html()));
items.click(function(){
if($(this).hasClass("single")) {
$(this).addClass("selected");
//increment counter
$(".counter").html(++counter);
//if ($(this).hasClass("selected")) {
// $(".counter").html(counter);
// }
}
else {
return false;
}
return false;
});
如果在递增计数器后可以从代码中删除类
single
,则应该可以解决问题
但是,您可能需要该类来处理其他事情,因此这里有另一种简单的方法来处理它:
var counter = parseInt($.trim($(".counter").html()));
items.click(function(){
if($(this).hasClass("single") && !($(this).hasClass("selected"))) {
$(this).addClass("selected");
//increment counter
$(".counter").html(++counter);
}
});
最后,你在用什么?如果是这样,所选的
类可能与自动生成的代码冲突。请尝试这种方式,只单击一次
$('#first_name').one('click', function()
{
console.log('a')
});
什么意思?每个项目基本上只能更新计数器一次?顺便问一下,为什么要添加.stop()
?您已经检查了它是否有单类。你不能检查它是否被选中,在这种情况下也不能增加吗?停止是停止应用于每个项目的动画。在结束问题之前,我尝试了一个函数,它不起作用。我知道remove类的作用。stop()实际上用于停止应用于每个项目的动画。我已经修改了代码,但是removeClass没有回答这个问题,我担心看起来我们需要更多的代码,或者更多地描述您正在尝试做的事情。不过,我很高兴继续尝试提供帮助。我尝试隔离代码以获得关注。基本上,假设有4个具有单个类的div元素,如果单击所有4个,计数器的最大值应为4。但在我当前的代码中,计数器继续递增到无穷大。这样更好吗?我的答案已经更新了,希望能解决问题。一切正常吗?你能把这个标记为答案吗?