about window.onload
在前幾天一次練習中因為我要在頁面加載完成后調用一個函數,于是我在javascript中用了window. onload,這個方法以前從學習js就在使用,有時還用來調用多個函數。然而我在這次想偷懶,就這樣寫了一段代碼:
???????????????????? window.οnlοad=function name(){
??????? ????????????? $(".left_div").slideDown("show");
??? ????????????? }
因為原本window.οnlοad=function(){·······}就是一個匿名函數,所以我像上面這樣寫并沒有錯,但是當我在后面調用name()這個函數時,就沒法調用。因為onload 事件會在頁面或圖像加載完成后立即發生,而且屬于event對象。像我那上面的那種寫法,如果在后面再調用這個name()這個函數肯定是不行的!
?????? 以下是幾種用法方法:
1、最簡單的調用方式
???直接寫到html的body標簽里面,如:
???<html>
??????<body οnlοad="function()">
??????</body>
???</html>
2、在JS語句調用
???<script type="text/javascript">
??????function name(){……}
??????window.οnlοad=name;
???</script>
3、同時 調用多個函數
???直接寫到html的body標簽里面,如:??
???<html>
??????<body οnlοad="name1();name2();name3();">
??????</body>
???</html>
4、js調用多個函數,以下這種調用方式可以用于不太復雜的JS程序中,如果程序函數很多,邏輯比較復雜,可以考慮用第五種方式。
?????<script type="text/javascript">
??????function name1(){……}
??????function name2(){……}
??????function name3(){……}
??????window.οnlοad=function(){
??????name();
??????name 2();
??????name 3();
?????}
???</script>
5、JS自定義函數式多次調用
???<script type="text/javascript">
??????function func1(){……}
??????function func2(){……}
??????function func3(){……}
??????function addLoadEvent(func){
?????????var oldοnlοad=window.onload;
?????????if(typeof window.onload!="function"){
?????????????window.οnlοad=func;
??????????}
?????????else{
?????????????window.οnlοad=function(){
??????????????????oldonload();
??????????????????func();
???????????????}
?????????????}
???????}
???????addLoadEvent(func1);
???????addLoadEvent(func2);
???????addLoadEvent(func3);
???</script>
?
轉載于:https://www.cnblogs.com/liubooklin/p/3928109.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的about window.onload的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: unity 创建中文自定义字体
- 下一篇: java信息管理系统总结_java实现科