頁面加載完畢執行多個JS函數


通常我們需要在打開頁面時加載腳本,這些腳本必須在頁面加載完畢后才可以執行,因為這時候DOM才完整,可以利用window.onload確保這一點,如:
window.onload=firstFunction;
這腳本的意思是在頁面完畢后執行firstFunction函數,但當有很多個函數需要在頁面加載時執行呢?可能有人說可以這樣:
window.onload=firstFunction;
window.onload=secondFunction;

但這樣的話只會執行secondFunction函數。

Simon Willison Blog  上提供了完美的解決方案:

 

[javascript]  view plain  copy
 
  1. function addLoadEvent(func) {  
  2.   var oldonload = window.onload;  
  3.   if (typeof window.onload != 'function') {  
  4.     window.onload = func;  
  5.   } else {  
  6.     window.onload = function() {  
  7.       if (oldonload) {  
  8.         oldonload();  
  9.       }  
  10.       func();  
  11.     }  
  12.   }  
  13. }  

 

 

func參數就是要加載的函數名(記得只是函數名,不需要括號),有多少個函數需要在頁面Load后執行的話,就調用多少次上面那個經典函數,例如:
addLoadEvent(firstFunction);
addLoadEvent(secondFunction);
......


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM