1

我在 Web 应用程序中有一种情况,根据某些条件,我必须隐藏或显示大量 div 元素,数字范围从50098000

.

我正在做的是我在所有 div 元素上应用一个公共类,然后迭代整个元素集以检查它们是否适合环境并因此显示或隐藏。

当数字在50010000的范围内时,这个逻辑可以正常工作,但是在这个范围之上,它需要一些安静的时间来显示结果。

恐怕对于非常大的数字,这种逻辑可能会导致某些浏览器被挂起。

那么,在大多数浏览器中,处理上述情况的更好方法是什么?

4

3 回答 3

1

正如 Blazermonger 所说,由于您显示/隐藏所有这些元素的方式,您的表现很差。尝试将它们添加到容器中并显示/隐藏容器。

另外,请记住,直接调用 show() 和 hide() 比调用 .css('display', '') 和 .css('display', 'none') 更昂贵。

最后,请检查jQuery 对象数组上的调用显示

于 2012-10-19T13:54:32.063 回答
1

如果您要显示大量数据,如果允许,最好使用分页UL LI而不是DIV分页,您可以将它们显示/隐藏为 -

$(.ulClass li).toggle();
于 2012-10-19T13:49:22.473 回答
0

我会从不同的角度看待你的问题。人类是非常复杂的自动机,它们本身具有物理属性,这些属性将它们限制在一定的信息消费率上。我们大脑中的神经元可以以一定的速度传递冲动,此外,我们的大脑在任何时候只能包含有限数量的信息,等等。

你试图向人类展示的元素数量远远超过了人类感知的极限。如果您尝试显示的任何 div 仅包含一个单词,那么它将产生 98000 / (6 * 24) = 680 页的打印文本。如果这是一些容易阅读的东西,比如通俗小说,一个受过训练的读者可以在大约一周内阅读这么多的文本,每天花一个小时左右,甚至可能更少。您没有理由一次显示这么多文本。拆分成多个页面,否则即使软件能处理那么多数据,用户也无法处理,你的光荣努力也会被忽视……

于 2012-10-19T14:22:17.550 回答