Советы о том, как оптимизировать производительность для некоторых команд Jquery в IE - PullRequest
3 голосов
/ 29 ноября 2010

Показать / скрыть сетку большого пальца мучительно медленно в IE8.

У меня есть большой палец, который работает с атрибутом категории на каждом большом пальце, и некоторые переключатели показывают разные категории. Код ниже обрабатывает показ / скрытие больших пальцев, но это очень медленно в IE и иногда выдает предупреждение «A script is slow». Я думаю, нет необходимости утверждать, что это работает очень хорошо во всех других браузерах.

Мой вопрос: можете ли вы помочь с некоторыми советами по производительности? Может быть, даже намекает на то, имеет ли смысл переписать этот бит на чистый Javascript? $('#cat-tab .categories-list a').live('click', function() { var $this = $(this); var $target = $('#cat-tab .video-results'); var $text = $.trim($('span', $this).text()); $scroll = $(window).scrollTop(); $('#cat-tab .categories-list a').removeClass('active'); $this.addClass('active'); $('#cat-tab .video-results .channel').removeClass('hidden'); if($text != 'All') { $('#cat-tab .video-results .channel[rel!="'+$text+'"]').addClass('hidden'); } $.rePage(true); return false; });

1 Ответ

3 голосов
/ 29 ноября 2010

Вместо того, чтобы кропотливо находить и скрывать каждый отдельный элемент большого пальца из скрипта, используйте таблицы стилей для выполнения работы за вас:

#categories .channel { display: none; }
#categories.category-all .channel { display: block; }
#categories.category-1 .channel-1 { display: block; }
#categories.category-2 .channel-2 { display: block; }
#categories.category-3 .channel-3 { display: block; }
#categories.category-4 .channel-4 { display: block; }

Теперь вы можете просто установить className элемента-предка #categories, и все большие пальцы внутри будут показываться / скрываться в зависимости от того, есть ли у них соответствующий класс для этой категории.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...