Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当scroll使用jquery到达底部时,如何正确地从元素中删除隐藏类?_Javascript_Jquery_Asp.net Mvc 5 - Fatal编程技术网

Javascript 当scroll使用jquery到达底部时,如何正确地从元素中删除隐藏类?

Javascript 当scroll使用jquery到达底部时,如何正确地从元素中删除隐藏类?,javascript,jquery,asp.net-mvc-5,Javascript,Jquery,Asp.net Mvc 5,我有一个页面显示10幅图像。在DOM中有x个图像。在滚动我想显示5个图像时,滚动点击底部。我的问题是没有任何东西显示 我的代码: $(window).scroll(function (event) { if ($(window).height() + $(window).scrollTop() >= $(document).height()) { $.pagen.helpers.loadData(); } }); $

我有一个页面显示10幅图像。在DOM中有x个图像。在滚动我想显示5个图像时,滚动点击底部。我的问题是没有任何东西显示

我的代码:

    $(window).scroll(function (event) {
        if ($(window).height() + $(window).scrollTop() >= $(document).height()) {
            $.pagen.helpers.loadData();
        }
    });
$.pagen.helpers.loadData();功能:

 $(".imageListContainer.hidden").slice(0, 5).removeClass("hidden");
我错过了什么

编辑HTML:

<div class="imageListContainer hidden">
  <img data-theme="Energi" data-products="XXX" data-store="XXXXXX" data- date="2016-02-03" src="XXXX">
 </div>

您的代码可能无法工作的原因有两个:

  • 隐藏图像的页面内容不高于视口,因此
    window.scroll
    从不触发
  • $.pagen.helpers.loadData()
    丢失、定义不正确或无法访问
  • 一些显而易见的事情,比如忘记包含jQuery
  • 滚动的不是窗口,而是其他一些DOM元素(将其添加到列表中,因为事实证明这是真正的原因)
如下图所示,如果将对loadData函数的调用替换为该函数的内容,则代码可以正常工作(每次触底时,请注意滚动条向上勾选):

$(窗口)。滚动(函数(){
如果(
$(窗口).height()+$(窗口).scrollTop()>=$(文档).height()){
$('.imageListContainer.hidden').slice(0,5).removeClass('hidden');
}
});
。隐藏{
显示:无
}

要强制滚动的额外文本
要强制滚动的额外文本
要强制滚动的额外文本
要强制滚动的额外文本
要强制滚动的额外文本
要强制滚动的额外文本
要强制滚动的额外文本
要强制滚动的额外文本
要强制滚动的额外文本
要强制滚动的额外文本
要强制滚动的额外文本滚动
额外文本以强制滚动
额外文本以强制滚动
额外文本以强制滚动
额外文本以强制滚动
额外文本以强制滚动
额外文本以强制滚动
额外文本以强制滚动
额外文本以强制滚动
额外文本以强制滚动
额外文本以强制滚动
强制滚动文本
新元素 新元素 新元素 新元素 新元素 新元素 新元素 新元素 新元素 新元素 新元素 新元素 新元素 新元素 新元素 新元素 新元素 新元素 新元素
解决方案:

    $(document).scroll(function (event) {

        if ($("#Tags").data("datefilteractive") == true || $("#Tags").data("filteractivated") == true)
            return false;

        var position = $(document).scrollTop() + $(window).height();
        position = Math.round(position) + 1;

        if (position >= $(document).height()) {
            $.pagen.helpers.loadData();
            $(".imageListContainer.hidden").slice(0, 5).removeClass("hidden");
        }

        else {

         // something else
        }

    });

你能发布
imageListContainer
html吗?我已经添加了html。出于某种原因,格式有点疯狂。如果有人能纠正,我会感激的。也许滚动的不是窗口,而是内部元素?检查滚动条以查看滚动条在DOM中的位置。@GeneralCarter感谢您打开我的思路并为其提供理由。卷轴在DOM上。我确实需要加一个+1的数字才能让它工作,但它工作了,我很高兴。我会将答案发布为edit soonThanks以获得答案,但问题是滚动条在DOM上,而不是窗口上。