2012-11-27 48 views
0

我有一些使用document.ready的問題,它會減慢加載時間,有時最多兩分鐘。document.ready要慢,需要2分鐘才能加載

我看到這個鏈接:http://encosia.com/dont-let-jquerys-document-ready-slow-you-down/

所以我的問題是,我怎麼能使用該方法取代的document.ready?

這裏是我的custom.js文件中的document.ready函數。

$(document).ready(function() { 
    setBudgetPeriodReadOnly(); 
    adjustTablePerBudgetNiva(budgetNiva); 
    disableDeletedAccounts(); 
    allowedKeyCodes(); 
    showHideZeroRowsEvent(); 
    removeZeroOnClick(); 
    bindMouseOverOutEvent(); 
    bindTableRowEvents(); 
    returnAsTabEvent(); 
    budgetNivaChangedEvent(); 

});

正如你看到它包含一些函數,以及那些使用子函數的函數等等。

這裏是用活

function bindMouseOverOutEvent() {  
$('#budgetTable tr').live({ 
    mouseover: function() { 
     $(this).find('td:eq(6)') 
       .removeClass('budgetBelopp') 
       .end().toggleClass('budgetTable-hover'); 
    }, 
    mouseout: function() { 
     $(this).find('td:eq(6)') 
       .addClass('budgetBelopp') 
       .end().toggleClass('budgetTable-hover'); 

    } 
}); 

}

而是一個功能的樣本其沒有工作,因爲它包裹在一個功能,我希望他們被包裹,所以我看到的函數名是什麼該功能正在做。

我也是新來的jQuery。

+1

2分鐘哈德聲明你的腳本文件?聽起來你有阻礙執行的東西。你可能在同一個函數中同步加載? – mekwall

+0

將函數轉換爲使用'.live()'後,您是否刪除了'$(document).ready()',而只是立即調用函數? – maxedison

+0

如何在不使用document.ready的情況下使用封裝在上述函數中的事件?當我把它放在一個namned函數中時,它不會被觸發,如果它沒有從document.ready中加載的話 – n3tx

回答

-2

放的JavaScript在網站的底部

+1

-1。這表現出與等待DOM準備好相同的潛在問題 – maxedison

+0

-1如上所述。而且,這在評論中會更合適。 – mekwall

0

你可以在樣<script async defer src="..."></script>

相關問題