javascript-有关如何优化IE中某些Jquery命令性能的提示

在IE8中,显示/隐藏拇指网格非常慢.

我有一个拇指,每个拇指都带有一个category属性,并且有一些切换来显示不同的类别.下面的代码可以处理显示/隐藏的提示,但这在IE中非常慢,有时会引发“脚本很慢”警告.我猜没有必要声明它在所有其他浏览器中都能很好地运行.

我的问题是:您可以提供一些性能提示吗?甚至可能暗示a将该位重写为纯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;
    });

解决方法:

与其费力地从脚本中查找和隐藏每个单独的thumb元素,不如利用样式表为您完成工作:

#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; }

现在,您只需设置祖先#categories元素的className即可,并且根据其是否具有与该类别匹配的类,显示/隐藏其中的所有缩略图.

上一篇:为什么用Expression.Compile()编译的代码比纯C#慢?


下一篇:我的应用程序调用为什么这么慢?