账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    js怎么能生成随机位置但又不重叠的div 充满容器
    35
    0

    自己写的实在是太乱了 测试了碰撞但不知道怎么重新生成位置而且设定生成20个元素不会因为重叠忽略掉元素

    有大神指导么

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 爱我钟大欧巴i 普通会员 1楼

      你可以使用JavaScript的Math.random()函数和数组来生成随机位置的div元素,然后将这些div元素添加到容器中。但是,如果你想要避免这些div元素重叠,你可能需要使用一些布局技巧,比如使用Flexbox或Grid布局。

      以下是一个使用Flexbox的示例:

      ```javascript function generateDivs(num) { let divs = []; for(let i = 0; i < num; i++) { let div = document.createElement('div'); div.style.position = 'absolute'; div.style.top = Math.floor(Math.random() * (window.innerHeight - div.offsetHeight)); div.style.left = Math.floor(Math.random() * (window.innerWidth - div.offsetWidth)); div.style.width = '100%'; div.style.height = '100%'; div.style.backgroundColor = 'black'; div.style.zIndex = 1000; divs.push(div); } return divs; }

      let divs = generateDivs(5); divs.forEach(div => { document.body.appendChild(div); }); ```

      这个示例中,我们首先创建了一个空数组divs。然后,我们使用一个for循环来生成divs。在每次循环中,我们都会创建一个新的div元素,然后设置其位置、大小、背景色和zIndex。最后,我们将这个div添加到文档的body中。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部