论坛首页 AJAX版 JavaScript

IE6的问题 display: none的div当中的img取不到宽和高

浏览 355 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2008-06-30
发现个IE6的问题
在IE6当中 display: none的div当中去图片的宽高竟然取不到!FF3没有这个问题

<div style="display: none;"><img src="http://img.baidu.com/img/logo-kz.gif" id="i" /></div>

alert(document.getElementById("i").width);


IE6疯了。。
   
最后更新时间:2008-06-30
不是IE疯了,
对于display:none
IE是不会预取其中子节点的IMG文件的.
FF会,
从效率上说,应该IE更高,不过确实给我们的应用造成了不便.
可以用
style="height:0px;width:0px"

模仿display:none
   
0 请登录后投票
最后更新时间:2008-06-30
是这样的,display=none的元素都取不到,一般在取时要先保存原来的值,然后display = block,visibilty = hidden,position= absolute,然后在取,取完后在改回来,这个在prototype.js里有,可以看看
   
0 请登录后投票
最后更新时间:2008-06-30
achun 写道
不是IE疯了,
对于display:none
IE是不会预取其中子节点的IMG文件的.
FF会,
从效率上说,应该IE更高,不过确实给我们的应用造成了不便.
可以用
style="height:0px;width:0px"

模仿display:none


说的对,的确是ie在这方面做了优化


campaign 写道
是这样的,display=none的元素都取不到,一般在取时要先保存原来的值,然后display = block,visibilty = hidden,position= absolute,然后在取,取完后在改回来,这个在prototype.js里有,可以看看


好办法!
   
0 请登录后投票
最后更新时间:2008-06-30
还有就是,IE还是会让你疯掉。
我记得(也许记错了)。
当display在none和block之间反复切换的时候,img的图片会再次向服务器读取,虽然可能优化的从IE cache 中读到。
   
0 请登录后投票
最后更新时间:2008-06-30
看出jquery,prototype.js的好处了吧
   
0 请登录后投票
论坛首页 AJAX版 JavaScript

跳转论坛:
JavaEye推荐