は、ここで私は要素の順序なしリストを並べ替えると、ユーザーのクエリに基づいてそれらを削除するために使用しているjQueryの/ JavaScriptコードです:残念ながら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要素を一度にすべて削除して、システムがハングしないようにしますか?
私はサーバー側の検索を行うときに、読み込みスピナーと成功のコールバックを持つことができますが、クライアントサイドには適用されません。
これは私のストリームでちょうどランダムにポップアップされました、すばらしい質問... upvoteを取る! –