From b10c71814cbdfcb1e60feb0a20d3af204378524d Mon Sep 17 00:00:00 2001 From: Nabil Saleh Date: Wed, 20 Apr 2011 17:26:15 +0200 Subject: [PATCH] further performance optimization: - hiding all elements at once --- js/jquery.mobile.listview.filter.js | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/js/jquery.mobile.listview.filter.js b/js/jquery.mobile.listview.filter.js index 898b86f2..2f0ee3eb 100644 --- a/js/jquery.mobile.listview.filter.js +++ b/js/jquery.mobile.listview.filter.js @@ -48,21 +48,18 @@ $( ":jqmData(role='listview')" ).live( "listviewcreate", function() { item = $(listItems[i]); itemtext=item.jqmData('filtertext') || item.text(); if (item.is("li:jqmData(role=list-divider)")) { - if (!childItems) { - item.hide(); - }else{ - item.show(); - } + item.toggleClass('ui-filter-hidequeue',!childItems); // New bucket! childItems = false; } else if (itemtext.toLowerCase().indexOf( val ) === -1) { - item.hide(); + item.toggleClass('ui-filter-hidequeue',true); } else { - item.show(); // There's a shown item in the bucket childItems = true; } } + listItems.filter(':not(.ui-filter-hidequeue)').show(); + listItems.filter('.ui-filter-hidequeue').hide().toggleClass('ui-filter-hidequeue',false); }else{ listItems.show(); }