jquery获取不到图片的高度 需要在window.onload=function后才能获取到
2014-03-01 10:57
260 查看
最近在看Learning jQuery英文版原著,正因为一边翻译,一边阅读,所以每一页都看的很仔细,于是终于仔细阅读体会了以下两种常用的jquery事件加载的方法
复制代码 代码如下:
写法一:$(function(){});
写法二:window.onload=function(){} ; 或者$(window).load(function(){});
$(window).load(function(){
... //此处省略N行
var w = $(this).width();
... //此处省略N行
});
第一种写法呢,是在DOM结构渲染完成以后调用的,这时候网页中一些资源还没有加载,比如图片等资源,但是DOM结构已经渲染成功了
第二种写法,是在网页DOM结构渲染完成,而且资源已经加载成功以后调用的。
有没有感受出区别来呢,一个是在资源没有加载的时候调用的,一个是在资源加载结束,页面已经渲染之后调用的,所以当我们在$(function(){})调用$('img').width()的时候,由于图片还没有加载,所以这时候<img>标签的高度就是0,所以返回值就是0。但是当你用window.onload=function(){}调用的时候,图片已经加载出来了,所以这时候就能得到图片的高度。
所以记得,$(function(){})是在DOM渲染结束,资源还没有加载的时候执行的,如果你想获取到一些资源的信息,这个时候是没有办法的哦
复制代码 代码如下:
写法一:$(function(){});
写法二:window.onload=function(){} ; 或者$(window).load(function(){});
$(window).load(function(){
... //此处省略N行
var w = $(this).width();
... //此处省略N行
});
第一种写法呢,是在DOM结构渲染完成以后调用的,这时候网页中一些资源还没有加载,比如图片等资源,但是DOM结构已经渲染成功了
第二种写法,是在网页DOM结构渲染完成,而且资源已经加载成功以后调用的。
有没有感受出区别来呢,一个是在资源没有加载的时候调用的,一个是在资源加载结束,页面已经渲染之后调用的,所以当我们在$(function(){})调用$('img').width()的时候,由于图片还没有加载,所以这时候<img>标签的高度就是0,所以返回值就是0。但是当你用window.onload=function(){}调用的时候,图片已经加载出来了,所以这时候就能得到图片的高度。
所以记得,$(function(){})是在DOM渲染结束,资源还没有加载的时候执行的,如果你想获取到一些资源的信息,这个时候是没有办法的哦
相关文章推荐
- 黑马程序员 jquery选择器和过滤器
- 黑马程序员 jquery
- 响应试jquery灯箱插件VenoBox
- DOM对象和JQuery对象的区别
- (function($){...})(jQuery)是什么意思 ——jQuery插件
- jQuery插件开发精品教程,让你的jQuery提升一个台阶
- 项目总结—jQuery EasyUI-DataGrid动态加载表头
- jQuery插件开发
- JQuery判断checkbox是否选中
- jquery 操作select
- jQuery插件开发精品教程,让你的jQuery提升一个台阶
- jquery 树结构组件 ------ zTRee
- jQuery选择器总结 (转)
- JQuery与DOM创建HTML元素对比
- JQuery与DOM对象转换
- select radio jquery 选择值
- js与jquery获取父窗口、子窗口中iframe的方法
- jQuery常用方法(四)-选择器
- Cloud Zoom是一个图像放大jQuery插件,
- jquery鼠标事件