【发布时间】:2012-02-08 07:01:30
【问题描述】:
这是我用来对无序列元素列表进行排序并根据用户查询删除它们的 jQuery/Javascript 代码:
// event binding for the search filter
$('.search-box').keyup(function(){
var query = $(this).val().toLowerCase(),
length = query.length;
$('.friends-list li').each(function(){
if(query.length > 1 && $(this).find('span').text().toLowerCase().substring(0, length) != query){
$(this).hide();
} else {
$(this).show();
}
});
});
不幸的是,当我得到大量的 li 元素时,这会大大减慢速度,有时还会挂在系统上。有没有办法对此进行优化,或者先进行所有搜索,然后一次全部删除 li 元素,这样系统就不会挂起?
当我进行服务器端搜索时,我可以只有一个加载微调器和一个成功回调,但似乎同样不适用于客户端。
【问题讨论】:
-
这只是随机出现在我的信息流中,好问题...投赞成票!
标签: javascript jquery html search client