当我渲染元素并将它们附加到父div时,屏幕会跳到最底部的元素,而不是加载它们并保持当前视图。因此,在开始时,应该在屏幕顶部并保持在那里,而不是跳到底部,当我向下滚动并渲染更多元素时,它也应该保持在那个位置,同时其他内容加载。
然后我如何使用jQuery从HTML文件中进行无限滚动加载?
当我在本地主机上运行它时,所有内容都会在打开时呈现,但会跳到屏幕底部进行渲染,然后跳回当前视图。这里的大问题是由于无限滚动和它不断跳到底部,它最终会无限期地进行,因为它不断跳到底部触发jquery函数。
编辑:包括Plunker,尽管目前不确定如何让jquery实现与Plunker的无限滚动,因此现在只有一个固定的加载值为10。即使已经渲染更多内容,它也会滚动到底部。
这是我的js文件中本质上的代码。
function loadMultipleElements(amountToLoad, url) {
var parentDiv = document.getElementById("instance");
for(var i = 0; i < amountToLoad; i++) {
var iframe = document.createElement('div')
iframe.innerHTML = '<iframe src=\"' + url + '\"></iframe>';
parentDiv.appendChild(iframe);
}
}
然后我如何使用jQuery从HTML文件中进行无限滚动加载?
<script>
loadMultipleElements(5, "https://www.example.com");
$(window).scroll(function() {
if($(window).scrollTop() == ($(document).height()) - $(window).height()) {
loadMultipleElements(5, "https://www.example.com");
}
});
</script>
当我在本地主机上运行它时,所有内容都会在打开时呈现,但会跳到屏幕底部进行渲染,然后跳回当前视图。这里的大问题是由于无限滚动和它不断跳到底部,它最终会无限期地进行,因为它不断跳到底部触发jquery函数。
编辑:包括Plunker,尽管目前不确定如何让jquery实现与Plunker的无限滚动,因此现在只有一个固定的加载值为10。即使已经渲染更多内容,它也会滚动到底部。