每 1 秒将 div 宽度更改 5px

Dan*_*aki 0 javascript

我尝试使用 JavaScript 每 1 秒将 div 宽度更改为 5px。我怎样才能使这项工作?

这是我的代码:

   <html>
        <head>
             <title>JS Functions</title>
        </head>
        <body>
        	<div style="width:100px; height:100px; background:gray" id="box" onclick="bigger()"></div>
            <script>
    
    function bigger()
    {
        var w = 100
        var h = 100
        while(w < 1000, h < 1000)
        {
            w = w+5;
            h = h+5;
            document.getElementById('box').style.width = w
            document.getElementById('box').style.height = h
            setInterval();
        }
    }
            </script>
        </body>
    </html>
Run Code Online (Sandbox Code Playgroud)

j08*_*691 5

不需要while循环。你可以只使用 setInterval:

var w = 100;
var h = 100;
var foo = setInterval(function () {
    if(w>1000) cancelInterval(foo)
    w = w + 5;
    h = h + 5;
    document.getElementById('box').style.width = w + 'px';
    document.getElementById('box').style.height = h + 'px';
}, 1000);
Run Code Online (Sandbox Code Playgroud)
<div style="width:100px; height:100px; background:gray" id="box" onclick="bigger()"></div>
Run Code Online (Sandbox Code Playgroud)