我想获得DIV元素的尺寸(用于在光标位置显示弹出菜单)style.display='none;',但是DIV的尺寸总是返回0.我似乎能够获得尺寸的唯一方法是制作DIV style.display='block;'在0,0,然后将其移动到所需位置,但看起来很尖锐.
我已经尝试在可见屏幕区域外看到DIV,但这不起作用.DIV被隐藏的时候有没有办法获得clientWidth和clientHeight价值?
itd*_*itd 13
如果您的DIV不可见,您将无法获得其尺寸.
但是,有一种解决方法.你的div必须是"可见的",但这并不意味着它的不透明度和位置必须是1和相对的.
将不透明度设置为0,将位置设置为"绝对",您将能够获得DIV尺寸.
编辑
由于我认为会有更多人遇到类似的问题,我觉得我应该多解释一下我的答案.
如果您尝试使用JavaScript获取隐藏元素的大小,则始终为0.
因此,有一些技术可以在不向用户显示元素的情况下获得实际大小.我最喜欢的是我上面已经写过的那个.以下是更详细的步骤:
您将元素不透明度设置为0.这样,在获取尺寸时,它不会显示给最终用户.
您将元素位置设置为"绝对".这样它就不会占用任何空间.
现在将显示设置为"内联块"是安全的.
你阅读元素维度.这一次,你将获得真正的价值.
将显示设置回"隐藏"并将不透明度和位置设置回原始值.
现在你有一个隐藏元素的大小.
| 归档时间: |
|
| 查看次数: |
3849 次 |
| 最近记录: |