页面加载完毕执行多个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);
......

posted @ 2016-12-08 19:17  岁月淡忘了谁  阅读(1764)  评论(0编辑  收藏  举报