使用jquery获取网页中图片高度的两种方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

使⽤jquery获取⽹页中图⽚⾼度的两种⽅法
使⽤jquery获取⽹页中图⽚的⾼度其实很简单,有两种常⽤的⽅法都可以打到我们的⽬的
复制代码代码如下:
$("img").whith();(返回纯数字)
$("img").css("width");(返回字符串:数字+"px")
但是有时候会遇到返回0的情况,上⾯⽅法返回值竟然是0或者0px,很让⼈诧异
在很早之前,我使⽤的解决⽅法,这也是我的师傅告诉我的解决⽅法:在你需要获取到的图⽚的<img>标签上加上width属性,或者在css中写出来图⽚的告诉,这样就可以了,所以每次我要去获取⼀个图⽚的⾼度的时候,都需要去先测量⼀下图⽚的⾼度,然后写到⽹页中,这样才可以,是不是很笨拙啊,下⾯我们来看第⼆个⽅法。

最近在看Learning jQuery英⽂版原著,正因为⼀边翻译,⼀边阅读,所以每⼀页都看的很仔细,于是终于仔细阅读体会了以下两种常⽤的jquery事件加载的⽅法
复制代码代码如下:
$(function(){});
window.onload=function(){}
第⼀个呢,是在DOM结构渲染完成以后调⽤的,这时候⽹页中⼀些资源还没有加载,⽐如图⽚等资源,但是DOM结构已经渲染成功了
第⼆个呢,是在⽹页DOM结构渲染完成,⽽且资源已经加载成功以后调⽤的。

有没有感受出区别来呢,⼀个是在资源没有加载的时候调⽤的,⼀个是在资源加载结束,页⾯已经渲染之后调⽤的,所以当我们在$(function(){})调⽤$('img').width()的时候,由于图⽚还没有加载,所以这时候<img>标签的⾼度就是0,所以返回值就是0。

但是当你⽤window.onload=function(){}调⽤的时候,图⽚已经加载出来了,所以这时候就能得到图⽚的⾼度。

所以记得,$(function(){})是在DOM渲染结束,资源还没有加载的时候执⾏的,如果你想获取到⼀些资源的信息,这个时候是没有办法的哦。

相关文档
最新文档