使用jquery或javascript隐藏或显示大量元素

时间:2012-10-19 13:40:08

标签: javascript jquery

我在网络应用程序中有这种情况,根据某些条件,我必须隐藏或显示大量的div元素,数字从 500 98000

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

当数字在 500 10000 的范围内时,此逻辑正常工作,但是在此范围之上,显示需要很长时间才能显示结果。

我担心真的很大,这种逻辑可能导致一些浏览器被绞死。

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

3 个答案:

答案 0 :(得分:1)

如果您要显示大量数据,最好在允许的情况下使用UL LI代替DIV分页,您可以将其显示/隐藏为 -

$(.ulClass li).toggle();

答案 1 :(得分:1)

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

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

最后,请检查Call show on array of jQuery objects

答案 2 :(得分:0)

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

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