Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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 如何有效地将长列表添加到DOM中_Javascript_List_Dom_Updating - Fatal编程技术网

Javascript 如何有效地将长列表添加到DOM中

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

我正在尝试将超过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 (xmlHttp.status === 200) {
        document.getElementById('list').innerHTML = xmlHttp.responseText;
    }
}

需要超过50秒。这是典型的吗

一个用户界面上有3万个项目?谁来浏览这么多的数据?为什么不实现延迟加载和长卷轴?@gurvinder372好主意。有任何示例或教程吗?为什么不一次加载50个,当您到达页面底部时,再加载50个?互联网上有很多Ajax教程,可以加载像这样的长数据列表。基本上,你需要捕获滚动事件,如果你快到滚动结束的时候,你可以发出Ajax请求,在UI上获取下一组30K项?谁来浏览这么多的数据?为什么不实现延迟加载和长卷轴?@gurvinder372好主意。有任何示例或教程吗?为什么不一次加载50个,当您到达页面底部时,再加载50个?互联网上有很多Ajax教程,可以加载这样的长数据列表。基本上,您需要捕获滚动事件,如果滚动即将结束,则发出Ajax请求以获取下一组项目