当有很多itemdiv时如何使这项工作?

时间:2014-06-26 20:46:18

标签: jquery

我需要你帮助解决这个问题

这是我的小提琴,http://jsfiddle.net/e56TY/47/

我正在展示冰淇淋的顶部计数(最初为零)。

一旦你在小提琴,点击草莓或巧克力,你会发现每次点击它们时,Topping计数增加减少

对于一个itemdiv它工作正常,但是如果有很多itemdiv我怎么处理这个?

对不起标题,我无法想到更好的一个

这是点击顶部项目时的监听器

var id = 71;
var i = 0;
$(document).on("click", ".secclass a", function(e) {

    if($(this).hasClass("tpActive"))
    {
        i = parseInt(i)-1;
        $(this).removeClass("tpActive");
        $("#"+id+".topp span").text(i);
    }
    else
    {
        i = parseInt(i)+1;
        $(this).addClass("tpActive");
        $("#"+id+".topp span").text(i);
    }


});

1 个答案:

答案 0 :(得分:1)

我认为这就是你想要的:http://jsfiddle.net/MSGZ8/1/

您必须知道,只能有一个具有相同ID的元素。并且javascript已修改:

$(document).on("click", ".secclass a", function(e) {

    if($(this).hasClass("tpActive"))
    {
        var element = $("#"+$(this).attr('data-id')+".topp");
        var count = parseInt(element.attr("data-count"))-1;
        element.attr("data-count", count);
        $(this).removeClass("tpActive");
        element.find("span").text(count);
    }
    else
    {
        var element = $("#"+$(this).attr('data-id')+".topp");
        var count = parseInt(element.attr("data-count"))+1;
        element.attr("data-count", count);
        $(this).addClass("tpActive");
        element.find("span").text(count);
    }

});

希望有所帮助! :)