相信用过jquery的人对$(function(){})事件并不陌生,它的解析顺序是在文档准备就绪,单文档中的图片等对象正在下载的时候开始运行的。虽然$(function(){})事件在大多数情况下都OK,但在某些时候使用$(function(){})事件并不一定能达到我们预期的效果,比如一些视觉效果和动画、拖拽、预读取隐藏图片等…通过使用$(window).load事件便可以安全的在整个文档都准备就绪之后再开始运行你期望的代码。 $(window).load(function(){ // 将你希望在页面完全就绪之后运行的代码放在这里 });
<!DOCTYPE html>
<html>
<head>
<meta charset="gbk" />
<title>Chrome下用jquery得到图片的宽度</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(function(){
alert($("#pic").width()); // 这里chrome得到的width为0,ie,firefox正常
});
$(window).load(function(){
alert($("#pic").width()); // 得到正常width
});
</script>
</head>
<body>
<img id="pic" src="images/test.jpg" alt="test"/>
</body>
</html>