簡體   English   中英

如何在該javascript代碼上進行調音? (基於jQuery選擇器)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM