一、和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中的宽高的更多相关文章

  1. 第76天:jQuery中的宽高

    Window对象和document对象的区别 1.window对象表示浏览器中打开的窗口 2.window对象可以省略,比如alert()也可以写成window.alert() Document对象是 ...

  2. js获取隐藏元素宽高的方法

    网上有一些js获取隐藏元素宽高的方法,但是可能会存在某些情况获取不了. 例如: <!DOCTYPE html> <html lang="en"> <h ...

  3. 前端 JS 获取 Image 图像 宽高 尺寸

    前端 JS 获取 Image 图像 宽高 尺寸 简介 项目中用到获取图片的原始尺寸,然后适配宽高:网上的大部分前端解决方案,都是new Image()后,在onload事件中获取image的尺寸. 在 ...

  4. js jquery中 的数据类型

    任何一门语言, buguan 是动态的, 还是像C语言的, 都有严格的 类型 "概念的", 这个是由于 编译器和解释器要求的, 需要的. 所以在是使用像 js, jquey ,ph ...

  5. (三)在js(jquery)中获得文本框焦点和失去焦点的方法

    在js(jquery)中获得文本框焦点和失去焦点的方法   文章介绍两个方法和种是利用javascript onFocus onBlur来判断焦点和失去焦点,加一种是利用jquery $(" ...

  6. JS获取图片实际宽高及根据图片大小进行自适应

    JS获取图片实际宽高,以及根据图片大小进行自适应  <img src="http://xxx.jpg" id="imgs" onload="ad ...

  7. JS获取图片实际宽高

    JS获取图片实际宽高,以及根据图片大小进行自适应 <img src="http://xxx.jpg" id="imgs" onload="ada ...

  8. 【IE6的疯狂之一】IE6中奇数宽高的BUG

    IE6真是太疯狂了.今天由于项目需要做了这么一个布局:一个外部的相对定位div,内部一个绝对定位的div(right:0), 如图: 可是在IE6下查看,却变成了right:1px的效果了: IE6还 ...

  9. JQUERY获取loaded 宽高这么变态

    JQUERY获取loaded 宽高这么变态: $('<img/>').attr('src',img.src).load(function() { img.Owidth = $(this). ...

随机推荐

  1. CentOS7使用Qemu模拟ARM64

    准备 RPM包安装 yum安装交叉编译工具 yum install -y binutils-aarch64-linux-gnu gcc-aarch64-linux-gnu bison flex gli ...

  2. 关于PPP拨号 和 AT指令实现GPRS模块联网的疑问

    以下内容摘抄自互联网: ppp拨号 与 at命令的疑问 GPRS模块在Linux平台上ppp拨号上网总结与心得 以PPP拨号实现GPRS与因特网的数据通信的具体实现流程 问: 我刚接触GPRS,了解A ...

  3. 哲学家就餐问题 C语言实现

    场景: 原版的故事里有五个哲学家(不过我们写的程序可以有N个哲学家),这些哲学家们只做两件事--思考和吃饭,他们思考的时候不需要任何共享资源,但是吃饭的时候就必须使用餐具,而餐桌上的餐具是有限的,原版 ...

  4. linux-2.6.38 IIC驱动框架分析

    在linux-2.6内核中,IIC的驱动程序可以大概分为三部分: (1)IIC核心代码:/drivers/i2c/i2c-core.c IIC核心提供了IIC总线驱动和设备驱动的注册.注销方法和IIC ...

  5. Centos7下安装MongoDB4.0.10

    前言 模式自由 :可以把不同结构的文档存储在同一个数据库里 面向集合的存储:适合存储 JSON风格文件的形式 完整的索引支持:对任何属性可索引 复制和高可用性:支持服务器之间的数据复制,支持主-从模式 ...

  6. YOLO---多个版本的简单认识

    YOLO---多个版本的简单认识 YOLOv3 有好几个经典版本了:一.YOLOv3 (Darknet)官网 @ https://github.com/pjreddie/darknet二.YOLOv3 ...

  7. ggplot2入门与进阶(下)

    出处:http://www.cellyse.com/how_to_use_gggplot2_part2/ 更多实战 例一 Michaelis-Menten动力学方程 这个例子中采用出自文献中的一组有关 ...

  8. 学习Python编程的最好的几本书

    读书是汲取某个特定学科的知识以及更深入的理解该学科的最好的方式.在这个科技世界,通晓计算机系统各个不同的技术领域是至关重要的.其中最重要的内容之一便是计算机程序语言.现今,计算机中存在许多不同类型的程 ...

  9. JSP运行原理以及执行过程源码分析

    我们在开发JavaWeb的过程中,可能有过这样的疑问,当我们编写jsp页面时,不用引用不用创建就可以使用request.session.application对象,当使用浏览器访问JSP页面时,查看页 ...

  10. tomcat——context.xml

    本机tomcat位置:D:\tomcat7\apache-tomcat-7.0.61 context.xml 位置:D:\tomcat7\apache-tomcat-7.0.61\conf 每个Web ...