Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取显示IE中的图像高度:无图像?_Javascript_Css_Internet Explorer 7 - Fatal编程技术网

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];