Javascript 如何有效地将长列表添加到DOM中
我正在尝试将超过30k个项目动态添加到无序列表中。要获取这些项,我使用XMLHttpRequest。我的问题是如何有效地做到这一点,因为典型的方法如下:Javascript 如何有效地将长列表添加到DOM中,javascript,list,dom,updating,Javascript,List,Dom,Updating,我正在尝试将超过30k个项目动态添加到无序列表中。要获取这些项,我使用XMLHttpRequest。我的问题是如何有效地做到这一点,因为典型的方法如下: var xmlHttp = new XMLHttpRequest(); xmlHttp.open("GET", "www/by_symbol.php?symbol=" + symbol, true); xmlHttp.send(null); xmlHttp.onload = onLoad; function onLoad() { if
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", "www/by_symbol.php?symbol=" + symbol, true);
xmlHttp.send(null);
xmlHttp.onload = onLoad;
function onLoad() {
if (xmlHttp.status === 200) {
document.getElementById('list').innerHTML = xmlHttp.responseText;
}
}
需要超过50秒。这是典型的吗 一个用户界面上有3万个项目?谁来浏览这么多的数据?为什么不实现延迟加载和长卷轴?@gurvinder372好主意。有任何示例或教程吗?为什么不一次加载50个,当您到达页面底部时,再加载50个?互联网上有很多Ajax教程,可以加载像这样的长数据列表。基本上,你需要捕获滚动事件,如果你快到滚动结束的时候,你可以发出Ajax请求,在UI上获取下一组30K项?谁来浏览这么多的数据?为什么不实现延迟加载和长卷轴?@gurvinder372好主意。有任何示例或教程吗?为什么不一次加载50个,当您到达页面底部时,再加载50个?互联网上有很多Ajax教程,可以加载这样的长数据列表。基本上,您需要捕获滚动事件,如果滚动即将结束,则发出Ajax请求以获取下一组项目