[英]How can I performance tunning on that javascript code? (JQuery selector based)
如何在該代碼中進行性能調整
var isHighLighted = this.HighlightCell(this.GetOutcomeInList(i), i, "selectedByEditor "+((isCommonChoice) ? "Common" : "") );
if (!isHighLighted) {
isHighLighted = this.HighlightCell(this.GetOutcomeInOtherBetsButton(i), i, "selectedByEditor "+((isCommonChoice) ? "Common" : "") );
}
this.HighlightCell(this.GetOutcomeInOthers(i), i, "selectedByEditor "+((isCommonChoice) ? "Common" : "") );
var spacialcell = this.GetOutcomeInSpecial(i);
this.HighlightCell(spacialcell, i, "selectedByEditor "+((isCommonChoice) ? "Common" : "") );
if (spacialcell.length > 0) {
//Özel etkinliklerde kapalı alanları açar
var eventDetails = $(spacialcell).parent().parent().parent();
var eventHeaders = $(spacialcell).parent().parent().parent().prev().find('.Expand');
if (eventDetails.attr('status') != 'expand') {
eventDetails.show(); $(eventHeaders).not('.Collapse').addClass('Collapse');
BetFilter.ChangeExpandButtonStatus(this, false);
}
}
對於1000多個html單元元素中的每個編輯器數據,該函數循環。 編輯器數據可能包含10-100個數據。 GetOutcomeInList,GetOutcomeInOtherBetsButton函數是返回特殊單元格的jquery選擇器。
首先-不要重復自己。
您重復此表達式四次:
"selectedByEditor "+((isCommonChoice) ? "Common" : ""
也:
var eventDetails = $(spacialcell).parent().parent().parent();
var eventHeaders = $(spacialcell).parent().parent().parent().prev().find('.Expand');
應該:
var eventDetails = $(spacialcell).parent().parent().parent();
var eventHeaders = eventDetails.prev().find('.Expand');
其次,無需在添加類之前檢查該類是否存在:
$(eventHeaders).not('.Collapse').addClass('Collapse');
可:
$(eventHeaders).addClass('Collapse');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.