为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

开心每一天1111 2024-01-03 17:01:54
我刚刚开始学习如何使用 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 标签,它也不起作用。有人可以帮忙吗?我对此要发疯了。
查看完整描述

1 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

尝试这个!


var pictures = [];


function Init(){

    pictures = document.querySelectorAll("img");

    setInterval (mover, 0);

}

function mover(){

    pictures.forEach(img => {

        var spaceH =screen.height - img.height;

        var spaceW =screen.width - img.width;

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

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

    });

}

</script>


<body onload="Init()">

    <img src="myImage">

    <img src="myImage">

</body>


查看完整回答
反对 回复 2024-01-03
  • 1 回答
  • 0 关注
  • 101 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信