chrome下img加载对height()的影响示例探讨
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/> <title>chrome下img加载对height()的影响</title> <styletype="text/css"> .floatleft{ float:left; } </style> <scripttype="text/javascript"src="js/jQuery-1.7.1.js"></script> <scripttype="text/javascript"> $(function(){ varimg_h=$('.showimg').height(); varimg_w=$('.showimg').width(); vartext_h=$('.showtext').height(); $('.showresult').html('showImg:'+img_w+'&'+img_h+'<br/>showText:'+text_h); alert('showImg:'+img_w+'&'+img_h+'<br/>showText:'+text_h); }); </script> </head> <!-- 作者:北京-南宫 日期:2012-07-25 --> <body> <div> <div> <imgsrc="images/flash_pic.gif"/> </div> <div> 这是文字 </div> <div> 这里显示结果。 </div> </div> </body> </html>
将此代码在chrome运行,当alert窗口弹出时,将会发现页面的img并没有加载。
运行结果如下:
这是文字
showImg:112&0
showText:18
1、此处img的默认宽度为112,但是我链接的img的宽度为1000,
2、此处img的高度为0,
现做如下改动
<imgsrc="images/flash_pic.gif"width="1000"/>
运行结果为:
这是文字
showImg:1000&0
showText:18
img的高度仍旧为0
当为其设置高度之后,就可以正常获取到。
结论:在chrome下,img不设置宽高,通过jquery的width()和height()获取到的img的宽高将为112px*0
求助:希望哪位大侠有好办法,能在不设置宽高情况下获取到正确的值。