about "window.onload"

在前幾天一次練習中由於我要在頁面加載完成後調用一個函數,因而我在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>

相關文章
相關標籤/搜索