获取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 SDK介绍及使用说明
转自:作者:新浪微博 开放平台 @MUNTO_AKIRA http://open.weibo.com/blog/%E5%BE%AE%E5%8D%9Ajava-sdk%E4%BB%8B%E7%BB%8D ...
- 【iCore、iCore2 双核心板】EPCS 实验(SPI Flash)(基于Verilog语言)
_____________________________________ 深入交流QQ群: A: 204255896(1000人超级群,可加入) B: 165201798(500人超级群,满员) C ...
- beta-2阶段组员贡献分分配
组名:天天向上 组长:王森 组员:张政.张金生.林莉.胡丽娜 bera-2阶段各组员的贡献分分配如下: 姓名 个人工作量 组长评价 个人评价 团队贡献总分 胡丽娜 9 4 4 4.25 林莉 9 4 ...
- 移动Web应用开发入门指南——视觉篇
视觉篇 智能移动设备由于发展历史短,但更新速度快,从而导致移动设备的物理属性差异巨大,其中一部分物理属性影响视觉,另一部分影响到交互.兼容或性能.对人类来说,至少有80%以上的外界信息通过视觉获得,视 ...
- ajax的同步和异步问题 (转)
async默认的设置值为true,这种情况为异步方式,当ajax发送请求后,在等待server端返回的数据的过程中,程序会继续执行ajax块后面的代码,直到服务器返回正确的结果才会去执行success ...
- DS实验题 Inversion
题目: 解题过程: 第一次做这题的时候,很自然的想到了冒泡和选择,我交的代码是用选择写的.基本全WA(摊手). 贴上第一次的代码: // // main.cpp // sequenceschange ...
- java build path->source folder分析
1.build path下的source folde,指的是项目存放源码的位置,即存放Java代码的位置!!! 如果将一个文件夹设为java build path里的source folder下,则这 ...
- 如何使用Xcode分析调试在真机运行的UE4 IOS版游戏
写本文的是因为UE4 官方文档虽然也有,但主要讲的是是用UE4Editor把游戏打成一个IPA包的形式发布的方法 而对于想通过Xcode分析UE4的渲染流程来学习或优化的朋友,那官方文档的资料还是不够 ...
- Bootstrap页面布局8 - BS常用标签与样式
常用的Css文字标签 一. <p>文字段落Start,<strong>重要的文字</strong>,<em>倾斜的文字用来提示</em>,& ...
- Happy
1.delighted 2.over the moon Alex is over the moon with promotion. 3.really pleased ...