获取dom元素的宽度和高度
一、获取css的大小
1.第一种通过内联样式
var box = document.getElementById('box');
var w = box.style.width;
var h = box.style.height;
2.通过计算元素的大小(但是在ie情况下有一个问题,那就没写widht和height的css就返回auto);
var style = window.getComputedStyle ? window.getComputedStyle(box,null) : null || box.currentStyle;
var w = style.width;
var h = style.height;
3.通过CSSStyleSheet对象中的cssRules(或rules)属性获取元素大小(但是无法获得计算的样式)
var sheet = document.styleSheets[];
var rule = (sheet.cssRules || sheet.rules)[];
var w = rule.style.width;
var h = rule.style.height;
以上三种方法都不行。
二、获取实际的大小
1.clientWidth和clientHeight
var w = box.clientWidth;
var h = box.clientHeight;
说明:padding和scroll变动,才有变化
2.scrollWidth 和box.scrollHeight;
var w = box.scrollWidth;
var h = box.scrollHeight;
说明,1)border变化,不同浏览器有不同变化2)padding变化,有变化3)margin变化,无变化
3.offsetWidth和offsetHeight
var w = box.scrollWidth;
var h = box.scrollHeight;
说明,padding和border有变动,才有变化
三、获取元素周变的距离(原本只能从左边和上边)
1.clientLeft 和 clientTop
这组属性可以获取元素设置了左边框和上边框的大小。
var l = box.clientLeft;
var t = box.clientTop;
2.获取相对父级元素的位置
var l = box.offsetLeft;
var t = box.offsetTop;
var parent = box.offsetParent; //获取伏击元素,返回body
说明,如果没有position:absolute;如果每个浏览器有不同解释
那么获取多层中的元素到body或html的距离,代码如下:
function offsetLeft(element){
var left = element.offsetLeft;
var parent = element.offsetParent;
while(parent!== null){
left += parent.offsetLeft;
parent = parent.offsetParent;
}
return left;
}
3.
//这组属性可以获取滚动条被隐藏的区域大小,也可设置定位到该区域。
box.scrollTop; //获取滚动内容上方的位置
box.scrollLeft; //获取滚动内容左方的位置
获取dom元素的宽度和高度的更多相关文章
- javascript中获取dom元素的高度和宽度
javascript中获取dom元素高度和宽度的方法如下: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网 ...
- javascript中获取dom元素高度和宽度
javascript中获取dom元素高度和宽度的方法如下: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网 ...
- js | javascript中获取dom元素的高度和宽度
javascript中获取dom元素高度和宽度的方法如下: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网 ...
- vue获取dom元素高度的方法
获取高度: <div ref="自定义名称" > </div>要在钩子mounted里面dom结构生成后去获取dom的高度,宽度,修改样式等操作!!! mo ...
- jQuery获取或设置元素的宽度和高度
jQuery获取或设置元素的宽度和高度: 可使用以下3种方法: 1,jQuery width() 和 height() 方法: 2,innerWidth() 和 innerHeight() 方法: 3 ...
- 使用jQuery获取元素的宽度或高度的几种情况
今天说说使用jQuery获取元素大小的遇到几种情况 使用jQuery获取元素的宽度或高度的有几种情况: 1.使用width(),它只能获取当前元素的内容的宽度: 2.使用innerWidth(),它只 ...
- 获取DOM元素位置和尺寸大小
JavaScript获取DOM元素位置和尺寸大小 在一些复杂的页面中经常会用JavaScript处理一些DOM元素的动态效果,这种时候我们经常会用到一些元素位置和尺寸的计算,浏览器兼容性问题也是不可忽 ...
- angular学习笔记-angular中怎么获取dom元素
步骤分解: 第一步:给要获取的元素一个ng-model变量,并且绑定事件啦! <div class="home" ng-model="dirName" n ...
- 【提取元素的值 】【追加文本append】【删除文本remove】【class的操作】【读取元素的宽度,高度】
1.取值 $("#test").text() //取id=test里面的文字 $("#test&qu ...
随机推荐
- 小问题,小细节要注意(string类型转换为bool类型)
一个表中的推荐字段是bit类型的,添加的时候推荐有两个值,如<asp:RadioButtonList ID="RadioButtonList1" runat="se ...
- iOS开发之UITextField的使用详解
UITextField的使用详解 UITextField控件是开发中,使用频率比较高的控件了,那么有必要总结一下. 一.UITextField手动编写控件 UITextField *txtAccou ...
- LINQ Count/Sum/Min/Max/Avg
参考:http://www.cnblogs.com/peida/archive/2008/08/11/1263384.html Count/Sum/Min/Max/Avg用于统计数据,比如统计一些数据 ...
- react-amazeui-touch 妹子Ui移动端学习
必须先配置并且学习react环境: http://www.cnblogs.com/CyLee/p/5668373.html 官方地址 http://t.amazeui.org/#/docs/form? ...
- MySQL数据库安装,配置My.ini文件
最近在做项目开发时用到了MySql数据库,在看了一些有关MySql的文章后,很快就上手使用了.在使用的过程中还是出现了一些问题,因为使用的是绿色免安装版的MySql所以在配置的时候出现了一些问题,该篇 ...
- Maven学习记录
一.简单介绍 Maven 是一个项目构建和管理自动化工具,通过它可以便捷的管理项目的生命周期,包括项目的jar包依赖,开发,测试,发布,打包等. 二.基本概念 2.1 Pom - 项目对象模型 全称( ...
- nodejs 基本类型和语法
写在前面 今天想要查下Node的类型什么的知识,想要总结下,在Googol上看到一个文章,但是原始的链接不在了,在快照中把这篇文章拉出来,如果原作者有问题,请联系我! 该文章都是一些JS的基础,高手自 ...
- 估值十亿美元、1.5亿用户,公司CEO却跑路了
转载这篇文章是觉得配图非常好玩的,文章的真实性有待证明 年收益3600万美元的.曾经拥有高口碑产品的Evernote,却正在把一手好牌打烂,距离IPO越来越远,屡屡被业界唱衰. "独角兽公司 ...
- Device ID
参考文章 一.CFUUID (Deprecated) 二.UDID (Deprecated) 三.NSUUID (ios6.0 and later) NSString *uuid = [[NSUUID ...
- Redis学习笔记(6)-SortedSet
package cn.com; import java.util.HashMap; import java.util.Map; import java.util.Set; import redis.c ...