Javascript 使用jQuery延迟div的加载?

Javascript 使用jQuery延迟div的加载?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在尝试延迟加载一行div,直到滚动,有点像这样。出于某种原因,我似乎无法启动任何jquery jQuery/JS // lazy load $(".resource-container resume-row").slice(1).hide(); var mincount = 0; var maxcount = 1; $(window).scroll(function () { if ($(window).scrollTop() + $(window).height()

我正在尝试延迟加载一行div,直到滚动,有点像这样。出于某种原因,我似乎无法启动任何jquery

jQuery/JS

// lazy load
$(".resource-container resume-row").slice(1).hide();

 var mincount = 0;
 var maxcount = 1;


 $(window).scroll(function () {
     if ($(window).scrollTop() + $(window).height() >= $(document).height() - 50) {
         $(".resource-container .resume-row").slice(mincount, maxcount).slideDown(100);

         mincount = mincount + 0;
         maxcount = maxcount + 5;
         //Loads 1 variable at a time 

     }
 });
以下是我迄今为止的尝试:。我希望最终加载3/4行(以此类推),然后让第4行一次加载1行


谢谢你的帮助

在类名“resume row”的第一个选择器中缺少类名表示(.)


这里有一个如何减慢某些div的想法

我获取div的数量,并为它们分配一个数据行属性,该属性保持div的数量。然后,我使用模运算符“%”来确定它们是否可以除以4。模给你们一个余数,这就是为什么它比直接除法更好的情况下,你们的元素数量可以改变。a、 如果你需要限制页面上元素的数量。我将事件附加到按钮上以显示它们。该代码表示,如果在执行数据行%4公式后剩余的数字为0,则使用.delay()方法防止fadeToggle触发900ms,如果有剩余,则仍将使用.delay()方法,但仅持续500ms

var i;
for(i=1; i < ($("div").length +1);i++) {
$("div").eq(i-1).attr("data-row", i);
}

$("#showthese").on("click", function() {

var resources = $("div").length; 
for(i=0; i < resources;i++) {
    if ($("div").eq(i).attr("data-row") % 4 === 0) {
        $("div").eq(i).delay(900).fadeToggle();
  }
    else {
        $("div").eq(i).delay(500).fadeToggle();
  }
 }
});
vari;
对于(i=1;i<($(“div”)。长度+1;i++){
$(“div”).eq(i-1).attr(“数据行”,i);
}
$(“#显示这些”)。在(“单击”,函数(){
var资源=$(“div”).长度;
for(i=0;i

这就是概念。可以用任何动画替换淡入淡出切换

一个无限滚动/延迟加载插件可能就是你想要的,所以你不必重新发明轮子和处理所有的边缘情况:我会使用LazyLoadXT,但由于它是在Hubspot的COS/CMS上构建的,所以受到限制。如果我在angular中构建或使用LazyLoad,则无法将项目包含在数组中。我看到您修复了选择器,但现在您注意到您的滚动事件不会触发,因为您无法滚动?给你的
body
一个溢出的
height
,这样就可以滚动了,比如
body{height:1000px}
我只是缩小了我的浏览器的大小,这样它们就可以堆叠1x1来测试你是如何错过这些东西的。长话短说,代码现在是正确的,正在使用codepen,所以从技术上来说,这就是解决方案。出于某种原因,它不想在Hubspot的COS/CMS中启动。所以我现在和他们一起接受技术支持,谢谢你的帮助哈哈
var i;
for(i=1; i < ($("div").length +1);i++) {
$("div").eq(i-1).attr("data-row", i);
}

$("#showthese").on("click", function() {

var resources = $("div").length; 
for(i=0; i < resources;i++) {
    if ($("div").eq(i).attr("data-row") % 4 === 0) {
        $("div").eq(i).delay(900).fadeToggle();
  }
    else {
        $("div").eq(i).delay(500).fadeToggle();
  }
 }
});