在前幾天一次練習中由於我要在頁面加載完成後調用一個函數,因而我在javascript中用了window. onload,這個方法之前從學習js就在使用,有時還用來調用多個函數。然而我在此次想偷懶,就這樣寫了一段代碼:javascript
window.onload=function name(){html
$(".left_div").slideDown("show");java
}ide
由於本來window.onload=function(){·······}就是一個匿名函數,因此我像上面這樣寫並無錯,可是當我在後面調用name()這個函數時,就無法調用。由於onload 事件會在頁面或圖像加載完成後當即發生,並且屬於event對象。像我那上面的那種寫法,若是在後面再調用這個name()這個函數確定是不行的!函數
如下是幾種用法方法:學習
一、最簡單的調用方式htm
直接寫到html的body標籤裏面,如:對象
<html>事件
<body onload="function()">ip
</body>
</html>
二、在JS語句調用
<script type="text/javascript">
function name(){……}
window.onload=name;
</script>
三、同時 調用多個函數
直接寫到html的body標籤裏面,如:
<html>
<body onload="name1();name2();name3();">
</body>
</html>
四、js調用多個函數,如下這種調用方式能夠用於不太複雜的JS程序中,若是程序函數不少,邏輯比較複雜,能夠考慮用第五種方式。
<script type="text/javascript">
function name1(){……}
function name2(){……}
function name3(){……}
window.onload=function(){
name();
name 2();
name 3();
}
</script>
五、JS自定義函數式屢次調用
<script type="text/javascript">
function func1(){……}
function func2(){……}
function func3(){……}
function addLoadEvent(func){
var oldonload=window.onload;
if(typeof window.onload!="function"){
window.onload=func;
}
else{
window.onload=function(){
oldonload();
func();
}
}
}
addLoadEvent(func1);
addLoadEvent(func2);
addLoadEvent(func3);
</script>