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


Posted in Javascript onSeptember 26, 2013

使用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渲染结束,资源还没有加载的时候执行的,如果你想获取到一些资源的信息,这个时候是没有办法的哦

Javascript 相关文章推荐
ExtJS下grid的一些属性说明
Dec 13 Javascript
javascript编写贪吃蛇游戏
Jul 07 Javascript
浅谈JavaScript的内置对象和浏览器对象
Jun 03 Javascript
js上下视差滚动简单实现代码
Mar 07 Javascript
vue解决跨域路由冲突问题思路解析
Nov 03 Javascript
Vue.js通用应用框架-Nuxt.js的上手教程
Dec 25 Javascript
angularjs $http调用接口的方式详解
Aug 13 Javascript
在Vue项目中引入JQuery-ui插件的讲解
Jan 27 jQuery
VUE的history模式下除了index外其他路由404报错解决办法
Aug 21 Javascript
layui-table获得当前行的上/下一行数据的例子
Sep 24 Javascript
js实现鼠标点击页面弹出自定义文字效果
Dec 24 Javascript
OpenLayers加载缩放控件使用方法详解
Sep 25 Javascript
Extjs实现进度条的两种便捷方式
Sep 26 #Javascript
js中的referrer返回上一页使用介绍
Sep 26 #Javascript
JavaScript中的运算符种类及其规则介绍
Sep 26 #Javascript
JQuery页面图片切换和新闻列表滚动效果的具体实现
Sep 26 #Javascript
Jquery实现图片左右自动滚动示例
Sep 25 #Javascript
jquery实现加载等待效果示例
Sep 25 #Javascript
js的onload事件及初始化按钮事件示例代码
Sep 25 #Javascript
You might like
用PHP实现递归循环每一个目录
2010/08/08 PHP
CentOS 6.2使用yum安装LAMP以及phpMyadmin详解
2013/06/17 PHP
php使用多个进程同时控制文件读写示例
2014/02/28 PHP
php程序总是提示验证码输入有误解决方案
2015/01/07 PHP
CI框架支持$_GET的两种实现方法
2016/05/18 PHP
php实现的rc4加密解密类定义与用法示例
2018/08/16 PHP
php生成word并下载代码实例
2019/03/15 PHP
Javascript 原型和继承(Prototypes and Inheritance)
2009/04/01 Javascript
修复ie8&amp;chrome下window的resize事件多次执行
2011/10/20 Javascript
jQuery中insertAfter()方法用法实例
2015/01/08 Javascript
jQuery实现隔行变色的方法分析(对比原生JS)
2016/11/18 Javascript
vue实现简单实时汇率计算功能
2017/01/15 Javascript
ES6中class类用法实例浅析
2017/04/06 Javascript
Angular.js实现动态加载组件详解
2017/05/28 Javascript
浅谈Vue2.0父子组件间事件派发机制
2018/01/08 Javascript
webpack4 css打包压缩问题的解决
2018/05/18 Javascript
JQuery实现ajax请求的示例和注意事项
2018/12/10 jQuery
Python实现爬取知乎神回复简单爬虫代码分享
2015/01/04 Python
python通过post提交数据的方法
2015/05/06 Python
基于python的图片修复程序(实现水印去除)
2018/06/04 Python
深入理解python中sort()与sorted()的区别
2018/08/29 Python
新手如何发布Python项目开源包过程详解
2019/07/11 Python
对Django的restful用法详解(自带的增删改查)
2019/08/28 Python
Python分割训练集和测试集的方法示例
2019/09/19 Python
Python使用pymysql模块操作mysql增删改查实例分析
2019/12/19 Python
关于老式浏览器兼容HTML5和CSS3的问题
2016/06/01 HTML / CSS
欧舒丹比利时官网:L’OCCITANE比利时
2017/04/25 全球购物
UNIONBAY官网:美国青少年服装品牌
2019/03/26 全球购物
Keds加拿大官网:购买帆布运动鞋和皮鞋
2019/09/26 全球购物
2014年应届大学生自我评价
2014/01/09 职场文书
自考生自我评价分享
2014/01/18 职场文书
新三好学生主要事迹
2014/01/23 职场文书
白酒营销策划方案
2014/08/17 职场文书
竞选班长演讲稿400字
2014/08/22 职场文书
党员演讲稿
2014/09/04 职场文书
学校体育节班级口号
2015/12/25 职场文书