获取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 ...
随机推荐
- Java中实现文件上传下载的三种解决方案
第一点:Java代码实现文件上传 FormFile file=manform.getFile(); String newfileName = null; String newpathname=null ...
- JBPM4.4+SSH 整合配置及完整实例
整合jBPM4.4+ssh过程(spring接管struts2和hibernate,例中都整合在application.xml中,没有单独的jbpm.hibernate.cfg.xml): 1.在se ...
- iOS开发项目之一 [ 项目流程]
项目流程 *人员配置 *客户端(iOS工程师,Android工程师) *前端 h5 *后台人员(php,java,net) *提供接口(请求地址.请求参数,请求方式,接口文档) *UI UE * 效果 ...
- HDU 4825 Xor Sum(经典01字典树+贪心)
Xor Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 132768/132768 K (Java/Others) Total ...
- PHP抓取采集类snoopy介绍
PHP抓取采集类snoopy介绍 一个PHP的抓取方案 在 2011年07月04日 那天写的 已经有 10270 次阅读了 感谢 参考或原文 服务器君一共花费了14.288 ms进行了2次 ...
- Keil的lib生成个人总结
1. 生成lib 的工程可以没有main函数,可以只有一个.c文件,一个.c文件中可以只有一个函数 2. 需要在lib工程中建立一个.h文件, 必须用extern声明各全局变量和函数. 3. 调用li ...
- varnish中忽略cookie进行缓存
varnish不缓存cookie的页面,如果html页面中带有cookie以下代码为接收到结尾的文件,自动去除掉cookiesub vcl_recv { if (req.request == ” ...
- MySQL字段之集合(set)枚举(enum)
MySQL字段之集合(set)枚举(enum) (2008-12-23 13:51:23) 标签:it 分类:MySQL 集合 SET mysql> create table jihe(f1 ...
- data-"mit.edu-Thinking In C++"
Volume 2 ctrl+s http://web.mit.edu/merolish/ticpp/TicV2.html http://web.mit.edu/merolish/ticpp/TicV2 ...
- MySql解决插入中文乱码问题
在dos中登陆mysql 后输入: // 查看数据使用的所有编码show variables like 'character%';// 修改客户端的编码 为 gbkset character_set_ ...