js/jQuery中的宽高
一、和window有关的宽高
window.innerWidth:浏览器窗口宽度
window.innerHeight:浏览器窗口高度(不包括导航,工具栏等的高度)
window.outerWidth:浏览器窗口宽度(很多时候===window.innerWidth)
window.outerHeight:浏览器窗口高度(包括导航,工具栏等的高度)
window.screen.width:用户设备屏幕的宽度
window.screen.height:用户设备屏幕的高度
window.screen.availWidth:
window.screen.availHeight:
window.screenTop:浏览器距离屏幕顶部高度
window.screenLeft:浏览器距离屏幕左侧宽度
二、client有关宽高
clientWidth、clientHeight: padding+content 如果有滚动条 再减去滚动条宽度/高度
clientTop:等于border-top的width
clientLeft:等于border-left的width
三、offset相关宽高
offsetHeight,
offsetWidth 等于border+padding+content;与内容是否超出原设定宽高无关,与是否有滚动轴无关
offsetLeft:相对于定位父级(offsetParent)元素左侧距离;offsetParent的margin-left+offsetParent的border-left宽度+当前元素的margin-left
offsetTop:相对于定位父级(offsetParent)元素左侧距离;
四、与scroll相关的宽高
scrollLeft,被滚动条隐藏部分的宽度
scrollTop: 被滚动条隐藏部分的高度
scrollWidth:内容的全部实际宽度,当内容不超过可视区域的时候=clientWidth
scrollHeight:内容的全部实际高度,当内容不超过可视区域的时候clientHeight
js种获取可视区域高度:window.innerHeight||document.documentElement.clientHegiht||document.body.clientHeight
js获取页面滚动高度:document.body.scrollTop
js获取页面整体高度:document.body.scrollHeight
五`documentElement与body的关系
document(nodetype=9,nodeName=#docuemnt)——>documentElement(nodeType=1,nodeName=html)——>body(nodeType=1,nodeName=body)
documentElement是body的父元素
dom元素的getBoundingRect()方法,可以获得top,left,bottom,right四个坐标,这四个坐标都是相对于文档的
六、Event对象的四种坐标
clinetX,clientY 相对于可视区域左上角坐标
screenX,screenY 相对于设备屏幕左上角坐标
offsetX,offsetY 相对于事件源左上角坐标
pageX,pageY 相对于整个页面左上角坐标
七、jQuery中的宽和高
jQuery中宽高相关的方法比js要精简很多
1、.width(),.height()
1)对于特殊元素document,window,是只读的
2)对于普通元素,可读写、
3)对应css中的width,height,只是不带单位
2. .innerWidth(),.innerHeight()
1)对于特殊元素document,window,是只读的,但不推荐。此时等同于width(),height()的写法
2)对于普通元素,可读写
3)=width+padding(box-sizing:content-box)
3. .outerWidth(Boolean),.outerHeight(Boolean)
1)对于特殊元素document,window,不推荐使用这两种方法
2)对于普通元素,如果传入true,则包含marign,否则不包含
4. .scrollTop(),.scrollLeft()
对应js中的scrollTop,scrollLeft(被滚动条卷进去的部分),如果不能滚动,则为0
5. .offset()
相对于body左上角的left,top的值
6..position()
相对于offsetParent左上角的值,类似于js中的offsetLeft/offsetTop
jQuery获取可视区域的宽度:$(window).height()
jQuery获取滚动的高度:$(window).scrollTop()
jQuery获取文档的高度:$(document).height()
js/jQuery中的宽高的更多相关文章
- 第76天:jQuery中的宽高
Window对象和document对象的区别 1.window对象表示浏览器中打开的窗口 2.window对象可以省略,比如alert()也可以写成window.alert() Document对象是 ...
- js获取隐藏元素宽高的方法
网上有一些js获取隐藏元素宽高的方法,但是可能会存在某些情况获取不了. 例如: <!DOCTYPE html> <html lang="en"> <h ...
- 前端 JS 获取 Image 图像 宽高 尺寸
前端 JS 获取 Image 图像 宽高 尺寸 简介 项目中用到获取图片的原始尺寸,然后适配宽高:网上的大部分前端解决方案,都是new Image()后,在onload事件中获取image的尺寸. 在 ...
- js jquery中 的数据类型
任何一门语言, buguan 是动态的, 还是像C语言的, 都有严格的 类型 "概念的", 这个是由于 编译器和解释器要求的, 需要的. 所以在是使用像 js, jquey ,ph ...
- (三)在js(jquery)中获得文本框焦点和失去焦点的方法
在js(jquery)中获得文本框焦点和失去焦点的方法 文章介绍两个方法和种是利用javascript onFocus onBlur来判断焦点和失去焦点,加一种是利用jquery $(" ...
- JS获取图片实际宽高及根据图片大小进行自适应
JS获取图片实际宽高,以及根据图片大小进行自适应 <img src="http://xxx.jpg" id="imgs" onload="ad ...
- JS获取图片实际宽高
JS获取图片实际宽高,以及根据图片大小进行自适应 <img src="http://xxx.jpg" id="imgs" onload="ada ...
- 【IE6的疯狂之一】IE6中奇数宽高的BUG
IE6真是太疯狂了.今天由于项目需要做了这么一个布局:一个外部的相对定位div,内部一个绝对定位的div(right:0), 如图: 可是在IE6下查看,却变成了right:1px的效果了: IE6还 ...
- JQUERY获取loaded 宽高这么变态
JQUERY获取loaded 宽高这么变态: $('<img/>').attr('src',img.src).load(function() { img.Owidth = $(this). ...
随机推荐
- bin文件夹下的某个dll总是自动刷新为不同版本的dll的解决方法
如上图所示,一般这种问题都是dll版本和配置文件中的dll版本对应不上才引起的,可以通过替换对应版本的dll或者修改配置文件中的版本号即可. 然而我的情况是:修复后,还是不定时出现这样的问题,我以为是 ...
- C#基础--Ref与Out区别
两者都是按地址传递的,使用后都将改变原来参数的数值. class Program { static void Main(string[] args) { int num = 1; Method(ref ...
- Java数据结构总述
array list map set 链表..array 和list类似,增删慢,读取快,list长度可变,array长度固定, 链表增删快的list set 是一个没有重复数据的集合 map 是一个 ...
- UDP及操作系统理论
UDP介绍 udp协议又称用户数据报协议 在OSI七层模型中,它于TCP共同存在于传输层 仅用于不要求可靠性,不要求分组顺序且数据较小的简单传输,力求速度 UDP结合socket用法 1.创建sock ...
- Redis二进制安全概念
二进制安全是指,在传输数据时,保证二进制数据的信息安全,也就是不被篡改.破译等,如果被攻击,能够及时检测出来. 二进制安全包含了密码学的一些东西,比如加解密.签名等. 举个例子,你把数据1111000 ...
- linux:# vi /etc/profile -bash: vi: command not found 的解决办法
/bin/vi /etc/profile 直接用全路径vi,linux下一切皆文件,进去把profile文件内容改一下,一定是profile出了问题 export JAVA_HOME=/usr/jav ...
- linux——运维基础,与常用命令
1 运维概述 1 什么是运维 服务器的运行维护 2 名词 IDC(互联网数据中心) 3 监控软件 zabbix(用的最多), nagios, cactti 4 常用的linux操作系统 1 CentO ...
- go语言学习(基本数据类型)
值类型: int/uint :根据系统确定是32还是64位.此外还有int8/uint8.int16/uint16.int32/uint32.int64/uint64 byte:字节型,相当于uint ...
- linux 基础12-程序与资源管理
1. 基础概念 可执行的二进制文件就是程序 执行程序的时候因触发事件而获取的ID,称为PID 在登入并执行bash时,系统依据登录者的UID/GID给登录者一个PID/GPID/SID等 启动程序时, ...
- C#中两个List<TModel>中根据指定条件--判断并获取不同数据的数据集合2
方式一:Linq List<Test> list = new List<Test>(); list.Add(new Test { score = 10, name = &quo ...