html元素的数量有限吗,浏览器可以毫无问题地显示?

基本上我有一个巨大的桌子,当用户滚动下来(自动预加载后续的行)时,它变得更大.在某些时候,浏览器变得迟钝,它会开始挂起一段时间,因为我点击或尝试滚动,并且更多的缓慢变得越来越多的行.我想知道页面可以容纳的元素数量是否有限制?或者也许这只是我的某个地方的 JavaScript漏洞(虽然我只有一个事件处理程序,附在表的tbody上)和一个解析冒泡的mousedown事件的脚本.

更新:在一千个加载行之后,延迟变得明显.滚动本身的速度是非常容易的,但例如突出显示单击的行(在tbody上的单个事件处理程序的帮助下)是痛苦的(至少需要2-3秒钟,并且延迟随行数的增加增加).我在所有浏览器上观察到延迟.不仅仅是我,而且几乎每个访问页面的人,所以我猜测在某种程度上影响到每一个平台.

更新:我想出了一个简单的例子:http://client.infinity-8.me/table.php?num=1000(你可以传递任何你想要的数字),基本上它呈现一个带有num行的表,并且有一个事件处理器附加到父表.我应该从中得出结论,实际上没有明显的表现下降,是由于儿童元素的数量造成的.所以这可能是其他地方的泄漏:(

解决方法

我认为标准没有限定.每个浏览器实现中可能会有一个硬编码的限制,尽管我可以想象这个限制可能是数十亿的元素.另一个限制是可寻址内存的数量.

解决您的问题:除了自动向下滚动元素,您可以自动卸载从屏幕上滚动的元素.那么即使滚动很多,您的程序仍然保持快速.

您可能还想考虑一个替代的界面,如分页.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些