我目前正在使用这个小片段首先计算.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>");
}
这可能是我困境的原因吗?
答案 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;
]);