<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="解决chrome下jQuery width()方法取值为0的方法" id="card1">
<p> 游客</p><p>
标题:解决chrome下jQuery width()方法取值为0的方法<br/>
正文:<br/>
http://photo.163.com/shixiaojian089/train/28002 这是网易的一个相册，看到后想试着做做看。 <br/><br/>在我的制作方法中，需要获取到每张照片的宽度，所以很自然就使用了jq的width()方法。在ff跟ie下运行问题不大，但是到了chrome上，就出现问题了。 <br/><br/>使用alert排查，发现chrome下width方法取到的值都是0.这样子的话，想来就是脚本运行到这的时候图片根本没加载好。问题应该出在$(function(){});上，因为这个方法只要求加载完dom就开始运行。那么改成在onload下执行，果然这下可以了。不过这明显不是很好的办法，毕竟在onload下运行要等到整个文件全部内容全部加载好后再运行脚本。 <br/><br/>网上搜索有一种解决方案，可以参考： <br/><br/>在要获取图片宽高的地方用 <br/>代码如下:<br/>$img.load(function(){ <br/>var img_h = $img.height(); <br/>var img_w = $img.width(); <br/>} <br/><br/>这样可以仍旧使用$(function(){});在需要图片加载的地方对图片对象调用load方法，避免等待整个文件内容加载完毕。<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1128&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1128&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1128&amp;Page=1">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=1128">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=1128">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>