我在页面上有数百个元素共享一个类,并且我需要优化应用程序jQuery Toggle()
,以防止在应用该函数时浏览器锁定,如下所示:
$j('.textDate').toggle() //this locks up this browser
单击此函数会导致浏览器锁定并冻结-因此,我尝试将其分成一个循环并分别在每个元素上运行该函数,然后我需要弄清楚该数组的一些超时/分解情况,以保持浏览器冻结:
$j('#showDatesCheckbox').click(function(){
var textdate = $j('.textDate'); //1000+ elements
for(var i = 0; i < textdate.length; i++)
{
$j(textdate[i]).toggle();
}
});
这仍然行不通吗?
最佳答案
只是一个问题。var $textDates = $('.textDate');
如何缓存结果呢?
然后,以后您可以致电$textDates.addClass('hidden');
缓存的列表应使后续操作更快地实现。
我添加了一个jsFiddle.net来玩:http://jsfiddle.net/cRRcC/2/
这会将30,000个元素添加到页面(divs),然后为您提供隐藏它们的链接。
这样看来不到一秒钟。该命令有什么帮助您的吗?
谢谢,
自动曝光