我使用Firefug来剖析我的web应用程序,发现以下函数被调用,并且需要被调用,每次用户访问字面上数百次。所以我想优化它,因为Firebug说它使用最多的资源/次数。JQuery:如何缓存DOM?
function highlightChildDiv(parentDiv) {
/* find the closest (hlisting) home listing to the middle of the scrollwindow & highlight */
var scrollElemPos = parentDiv.offset();
var highlightDiv = $(document.elementFromPoint(
scrollElemPos.left + parentDiv.width()/2,
scrollElemPos.top + parentDiv.height()/2)
).closest('#parentDiv div.childClass');
if (highlightDiv.hasClass("HighlightRow")) {
return; // if the div is already highlighted, return
} else {
$('#parentDiv div.childClass').removeClass("HighlightRow");
highlightDiv.addClass('HighlightRow');
}
}
在我看来,最未优化的语句之一是.closest('#parentDiv div.childClass');
,但我敢肯定有其他的事情,以改善。
问题:有没有人有任何关于如何优化上面的代码的任何JQuery性能提示,因为这个函数每次用户访问几乎执行数百次。
只是一个小点名称,例如“父母”和“孩子”可能不会长期可读:) – 2010-01-29 17:10:18
我更改了名称以帮助人们更多地了解我的代码在我的应用程序正在执行的情况下 – Allen 2010-01-29 17:15:51