我需要在循环中获取动态生成的 div 的高度和宽度。
细节
我正在动态设置定位绝对 div 的 left 和 top 值。这个 div 在一个循环中,因此它的宽度、高度和位置以间隔 n 变化。(它基本上是一个 div,每隔 n 秒出现在页面上的随机位置。)
我面临的挑战是这个 div 需要始终位于父级内部,<body>
在这种情况下为标记。我已将其设置为position:relative
,即使overflow:hidden
它无济于事。
这是一个让事情变得更容易的小提琴。 Fiddle 1 在循环外,Fiddle 0 在循环外
您会看到,因为 x 和 y 值是随机生成的,所以 div 会溢出。
我发现为了将 div 保留在 body 中,它的高度和宽度必须与父级一起检索和计算,以获得大小的差异。
所以我可以像使用 css 一样使用它
var heightdiff = parentHeight - divHeight;
var widthdiff = parentWidth - divWidth;
通过 jQuery 在 css 中
top: Math.floor((Math.random()*heightdiff)+0;
left: Math.floor((Math.random()*widthdiff)+0;
也许我犯了一个简单的错误,但我已经尝试了我能想到的一切。回顾一下我需要做的就是获取 div 的高度和宽度。