jQuery,count个元素数,然后应用另一个jQuery函数的数量

时间:2014-10-20 10:59:24

标签: jquery

我目前正在使用这个小片段首先计算.item-wrap元素的数量,然后将此数字应用于在x次点击后淡出按钮的函数;

var count_elements = $('.showcase-grid .item-wrap').length;

var countclick = 0;

$("#load-items").on("click", function() {
    countclick = countclick + 1;
    if (countclick >= count_elements) {$("#load-items").fadeOut(3000); } 
});

但是,无论出于何种原因,它似乎都不起作用。如果我用静态数字替换count_elements,那么该函数按预期工作,所以我假设我在初始变量中做错了什么?

我应该补充一点,.items-wrap元素本身是通过jQuery在“切片”函数中创建的。代码在这里;

var divs = $(".showcase-grid > .item");
for(var i = 0; i < divs.length; i+=3) {
  divs.slice(i, i+3).wrapAll("<div class='item-wrap row hide'></div>");
}

这可能是我困境的原因吗?

1 个答案:

答案 0 :(得分:0)

如果您在尝试计算时没有将.item-wrap元素加载到DOM中,则会出现错误,请尝试将初始化包装在document.ready中,如下所示:

$(document).ready(function() {
    var count_elements = $('.showcase-grid .item-wrap').length;
]);

编辑:

您可能还想尝试document.load

$(document).load(function() {
    var count_elements = $('.showcase-grid .item-wrap').length;
]);