这是我在这个网站上的第一个问题,我希望有经验的人能给我一些建议。
我已经为客户端构建了一个 javascript/jquery 应用程序,它的关键特性是某些项目的过滤机制。大约有 2000 个这样的项目存储在这样的列表中:
<ul>
<li id='3000429'>Item</li>
<li id='3000429'>Item</li>
<li id='3000429'>Item</li>
<li id='3000429'>Item</li>
</ul>
因此,大约 2000 行 html 仅用于此<li>
目的,出于演示目的,我已经删除了元素的 onClick 处理程序。在页面加载时通过 php 从 mysql db 生成具有适当 id 的 html 列表。
我现在要做的是从我的数据库中过滤我的结果并首先隐藏所有项目,然后一旦我通过 ajax 从 PHP 返回计算结果,这是一个数组 od id,然后我只显示结果中的项目 id数组(使用 jQuery.show()
和.hide()
)。所以所有的项目都一直存在于代码中,只是有些是隐藏的。
使用 JSON 并在收到结果后从 html 列表中完全删除所有项目会更好,然后生成新的 html 项目,这些项目通过 JSON 对象和 jQuery 从数据库中过滤掉。
我问是因为我知道有些浏览器不能很好地承受大量 html 的压力(尤其是 IE ......)。
当我得到很多结果时,比如说超过 1000 个,所有浏览器都会有点滞后,可能是因为它们正在浏览所有项目并重新显示项目 ( .show()
)。如果用户在短时间内触发过滤,用户体验就会很糟糕。
那么,从性能的角度来看,你们认为我会更好地加载 JSON 并不断生成和删除 html,还是我现在设置它的方式(显示/隐藏方法)?我是 JSON 新手,所以当涉及到大量数据时,我不太熟悉它的性能方面。
预先感谢,我很感激!