微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

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

解决方法

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

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

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

原文地址:https://www.jb51.cc/html/224770.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐