搜尋

首頁  >  問答  >  主體

javascript - 請問為什麼這個補零函數為什麼要放window.onload外面?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body style="background: black;color: #fff;font-size: 58px;">
    <img src="img/0.png" />
    <img src="img/0.png" />
    :
    <img src="img/0.png" />
    <img src="img/0.png" />
    :
    <img src="img/0.png" />
    <img src="img/0.png" />

    <script>
        function bul(n)
        {
            if(n<10)
            {
                return "0"+n;
            }
            else
            {
                return ""+n;
            }
        }

        window.onload=function()
        {
            var aImg = document.getElementsByTagName('img');
            var tell;
            tell=setInterval(function(){
                var myDate = new Date();
                var str = bul(myDate.getHours())+bul(myDate.getMinutes())+bul(myDate.getSeconds());
                for(var i=0;i<aImg.length;i++)
                {
                    aImg[i].src = "img/"+str[i]+".png";
                }    
            },500)
            
            tell();
        }

    </script>
</body>
</html>

小白不太明白其中的道理,求各位前輩詳細解釋。感謝。

三叔三叔2700 天前844

全部回覆(3)我來回復

  • 黄舟

    黄舟2017-07-05 10:47:30

    作用域問題、放在外面、無論你是window.onload、window.onunload 都可以使用

    放在window.onload的程式碼只是為了確保頁面載入完畢、保證節點確實存在、不會選不到節點

    而你那種對數字操作的方法、沒有節點操作、放在內外都可以

    回覆
    0
  • 欧阳克

    欧阳克2017-07-05 10:47:30

    window.onload 事件是頁面完全載入完的時候執行

    $(function(){ }) 是等頁面上的標籤載入完了就執行

    回覆
    0
  • 淡淡烟草味

    淡淡烟草味2017-07-05 10:47:30

    裡面外面都可以,放外面可以共用,放裡面只能在onload事件內部用。

    回覆
    0
  • 取消回覆