使用 JavaScript 在随机位置加载时显示多个元素(div 和 img)

我刚刚开始学习如何使用 JavaScript 进行编码,以达到艺术目的,如果有人可以帮助我完成特定的工作,我将非常感激。我收集了数字日记的所有元素(并将它们分成 div 和 imgs),我希望它们全部随机且同时(加载时)放置在屏幕上。这是我到目前为止所取得的成就:


<html>

    <head>

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

        <title></title>

        <style>

            #image{

                position: absolute;

            }

        </style>

        <script type="text/javascript">

            function Init(){

                picture=document.getElementById("image");

                spaceH=screen.height - picture.height;

                spaceW=screen.width - picture.width;


                setInterval (mover, 0);

            }

            function mover(){

                picture.style.top=Math.round(Math.random()* spaceH) + "px";

                picture.style.left=Math.round(Math.random()* spaceW) + "px";

            }

        </script>

    </head>


    <body onload="Init()">

        <img src="myImage" id="image">

    </body>

</html>

我只能使用一张图像来完成此操作,并且无法想象如何使用其中的许多图像来完成此操作(我的意思是我知道我必须使用数组,但我无法自己弄清楚如何使用)。另外,如果我尝试替换 div 的 img 标签,它也不起作用。有人可以帮忙吗?我对此要发疯了。


开心每一天1111
浏览 102回答 1
1回答

LEATH

尝试这个!var pictures = [];function Init(){&nbsp; &nbsp; pictures = document.querySelectorAll("img");&nbsp; &nbsp; setInterval (mover, 0);}function mover(){&nbsp; &nbsp; pictures.forEach(img => {&nbsp; &nbsp; &nbsp; &nbsp; var spaceH =screen.height - img.height;&nbsp; &nbsp; &nbsp; &nbsp; var spaceW =screen.width - img.width;&nbsp; &nbsp; &nbsp; &nbsp; img.style.top=Math.round(Math.random()* spaceH) + "px";&nbsp; &nbsp; &nbsp; &nbsp; img.style.left=Math.round(Math.random()* spaceW) + "px";&nbsp; &nbsp; });}</script><body onload="Init()">&nbsp; &nbsp; <img src="myImage">&nbsp; &nbsp; <img src="myImage"></body>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Html5