计算窗口大小调整时的圆圈大小

沙皇

在您可以在下面运行的演示中,我生成了具有随机位置和大小的圆。

当您调整窗口大小时,我将页面设置为重新加载,但这不是我想要的。我想在调整窗口大小时重新计算圆圈的大小和位置,而不重新加载page

我尝试了很多事情,但是根本无法正常工作。任何帮助将不胜感激。


// Draw circles

const list = (length, callback) =>
  Array.from(new Array(length), (hole, index) => callback(index))

const random = (min, max) => Math.random() * (max - min) + min

const viewportWidth = Math.max(
  document.documentElement.clientWidth,
  window.innerWidth || 0
)

const viewportHeight = Math.max(
  document.documentElement.clientHeight,
  window.innerHeight || 0
)

const elements = list(48, () => {
  const circle = document.createElement("span")
  const minSize = Math.round((viewportWidth + viewportHeight) / 48)
  const maxSize = Math.round((viewportWidth + viewportHeight) / 24)
  const size = random(minSize, maxSize)
  Object.assign(circle.style, {
    width: `${size}px`,
    height: `${size}px`,
    left: `${random(0, 100)}%`,
    top: `${random(0, 100)}%`
  })
  return circle
})

document.body.append(...elements)

// Reload page on window resize

window.addEventListener("resize", () => {
  window.location.reload(true)
})
body { overflow: hidden }

span {
  background: black;
  position: absolute;
  border-radius: 50%;
  opacity: .5
}

西里尔

改为px,使用vh或vw ov vmax或vmin单位

一些解释在这里https://web-design-weekly.com/2014-11-18-viewport-units-vw-vh-vmin-vmax/

vw: 1/100视口宽度

vh: 1/100视口高度

vmin:最小边的1/100

vmax:最大边的1/100

// Draw circles

const list = (length, callback) =>
  Array.from(new Array(length), (hole, index) => callback(index))

const random = (min, max) => Math.random() * (max - min) + min

const viewportWidth = Math.max(
  document.documentElement.clientWidth,
  window.innerWidth || 0
)

const viewportHeight = Math.max(
  document.documentElement.clientHeight,
  window.innerHeight || 0
)

const elements = list(48, () => {
  const circle = document.createElement("span")
  const minSize = Math.round((viewportWidth + viewportHeight) / 150) // tune this to your needs
  const maxSize = Math.round((viewportWidth + viewportHeight) / 80)// tune this to your needs
  const size = random(minSize, maxSize)
  Object.assign(circle.style, {
    width: `${size}vmin`,// vmin used instead px , but vh,vw aand vmax is also avalaible
    height: `${size}vmin`,// vmin used instead px , but vh,vw aand vmax is also avalaible
    left: `${random(0, 100)}%`,
    top: `${random(0, 100)}%`
  })
  return circle
})

document.body.append(...elements)
body { overflow: hidden }

span {
  background: black;
  position: absolute;
  border-radius: 50%;
  opacity: .5
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

窗口大小调整时的jQuery函数

来自分类Dev

窗口大小调整时的Vanilla Javascript操作元素

来自分类Dev

窗口大小调整时右上浮动的Div

来自分类Dev

窗口大小调整时的开火功能

来自分类Dev

高图-窗口大小调整时边距更新

来自分类Dev

JFrame:如何禁用窗口大小调整?

来自分类Dev

NSImageView和窗口大小调整

来自分类Dev

窗口大小调整-React + Redux

来自分类Dev

窗口大小调整不起作用

来自分类Dev

可可窗口大小调整信息

来自分类Dev

angularJS窗口大小调整问题

来自分类Dev

Javascript滚动和窗口大小调整

来自分类Dev

简单的窗口大小调整反应

来自分类Dev

窗口大小调整和滚动

来自分类Dev

jQuery不调整窗口大小调整div的大小

来自分类Dev

使用窗口调整大小调整PNG大小

来自分类Dev

调整窗口大小时保持圆圈的长宽比

来自分类Dev

根据窗口大小调整div以及内部内容的大小

来自分类Dev

MS Word根据窗口大小调整图像大小

来自分类Dev

窗口大小调整以准确的大小执行操作

来自分类Dev

tkinter 网格不根据窗口大小调整大小

来自分类Dev

如何根据窗口大小调整元素大小

来自分类Dev

Python Tkinter 将按钮大小调整为窗口大小

来自分类Dev

单击圆圈时如何调整其大小?

来自分类Dev

视口宽度达到某个值时,停止/启动窗口的大小调整

来自分类Dev

在响应式网站中保持窗口大小调整时的页面视图

来自分类Dev

如何控制表格内元素在窗口大小调整时浮动的顺序

来自分类Dev

背景应在窗口大小调整时使用JQuery适应内容高度

来自分类Dev

动态调整pixi阶段的大小,其内容在窗口大小调整和窗口加载上

Related 相关文章

热门标签

归档