【发布时间】:2016-02-27 03:56:11
【问题描述】:
我正在尝试让 Jscroll 无限滚动图像的 div,但我发现它会在触发后立即加载它可以加载的所有页面。在 Opera、Chrome 和 Firefox 上,这意味着它会在几秒钟内加载数千个页面,从而使浏览器崩溃。在 Microsoft Edge 上,这意味着它会在用户向上或向下滚动时加载页面。
这是我对相关 div 的 html 标记;
<div id="images-wall">
<div class="home-thumb col-md-2 col-sm-3 col-xs-4 no-padding"><a href="/image/22" target="_blank"><picture><img class="home-img" src="//thumb.example.com/webp/22.webp" title="Image Name"></picture></a></div>
<nav id="#next"><a href="/more/home/2016-02-12+17:36:45"></a></nav></div>
</div>
这是我用来调用 jscroll 的 Javascript;
function reLayout(){
console.log("Loaded new images.");
}
$('#images-wall').jscroll({
debug: true,
padding: 0,
callback: reLayout,
loadingHtml: 'LOADING MORE'
});
这是Jscroll放在控制台的调试输出;
js.js:15376 jScroll: -3082 from bottom. Loading next request...
js.js:15376 Object
js.js:15376 jScroll: -3082 from bottom. Loading next request...
js.js:15376 Object
js.js:15376 jScroll: -3082 from bottom. Loading next request...
js.js:15376 Object
js.js:15376 jScroll: -3082 from bottom. Loading next request...
js.js:15376 Object
js.js:15376 jScroll: -3082 from bottom. Loading next request...
js.js:15376 Object
js.js:15376 jScroll: -3082 from bottom. Loading next request...
js.js:15376 Object
js.js:15376 jScroll: -3082 from bottom. Loading next request...
js.js:15376 Object
这类似于我之前在一个项目中使用的标记来实现 jscroll,我在这里做错了什么?
编辑:
我用这个 HTML 代码做了一个最小的例子;
<script src="/static/js2.js"></script>
<div id="images-wall">
<a href="/image/22/" target="_blank">
<img class="home-img" src="//thumb.example.com/webp/22.webp" title="Title of the image.">
</a>
<a href="/more/home/2016-02-12+17:36:45"></a>
</div>
并且可以找到 here 的 Javascript 代码,问题仍然存在。
【问题讨论】:
-
您发布的代码看起来不错,与加载所有页面无关。可能是你错过了发布其他可能的代码部分
-
我确信标记也很好,所以我只用 Jquery 2.1.4 制作了一个新的 Javascript 文件(我在以前的 Jscroll 项目中使用的版本,以防出现问题Jquery版本)和Jscroll,问题仍然存在。查看我的编辑。
标签: javascript jquery infinite-scroll