Javascript 获取显示IE中的图像高度:无图像?
我的图像设置为Javascript 获取显示IE中的图像高度:无图像?,javascript,css,internet-explorer-7,Javascript,Css,Internet Explorer 7,我的图像设置为显示:无。我正在使用javascript(document.getElementById('elem').height)获取这些图像的高度/宽度 这适用于其他浏览器,但IE报告高度为0(可能是因为它的显示设置为“无”-因为当我删除显示:无时,高度报告正确)。我尝试将图像包装在一个div中,并将div的显示设置为“无”,而不是图像-但这也不起作用 这方面的典型解决方法是什么?试试这个: 把它放在屏幕外 将其设置为“显示:块” 得到它的高度 将其设置回显示:无 把它放回原处 您可以使用
显示:无
。我正在使用javascript(document.getElementById('elem').height
)获取这些图像的高度/宽度
这适用于其他浏览器,但IE报告高度为0(可能是因为它的显示设置为“无”-因为当我删除显示:无时,高度报告正确)。我尝试将图像包装在一个div中,并将div的显示设置为“无”,而不是图像-但这也不起作用
这方面的典型解决方法是什么?试试这个:
您可以使用
可见性:隐藏
,可能与位置:绝对值结合使用,也可以防止“闪烁”,在读取高度后将其删除。显示:无代码>元素被定义为没有任何显示属性,因此在此状态下不应使用高度和宽度
您可以尝试将其设置为可见性:隐藏代码>,将保留高度和宽度。这样做的缺点是,可见性
不会影响它在页面流中的位置,因此它也会保留在布局中占用的空间。您可以通过将位置设置为绝对值
或固定值
将其从上下文流中移除,来反作用。您可能还希望将z-index
设置为负值,以确保它隐藏在页面其余元素后面,否则它可能会阻止其他元素被单击等,即使它是不可见的。如果您对图像本身的大小感兴趣,除了html中设置的任何样式或属性,您可以使用相同的src测量新图像
如果只测试包含的图像,它不会向文档的html或样式表,甚至不会向document.images.length添加任何内容
var im=new Image();
im.src=element.src;
return [im.src, im.width, im.height];