Window对象和document对象的区别

1、window对象表示浏览器中打开的窗口

2、window对象可以省略,比如alert()也可以写成window.alert()

Document对象是window对象的一部分

浏览器的HTML文档成为dicument对象

Window.location和document.location

Window对象的location属性饮用的是location对象,表示该窗口中当前显示文档的URL

Document对象的location属性也是引用了location属性也是引用了location对象

Window.location===document.location//true

与window相关的宽高介绍

Window.innerWidth//浏览器窗口的内部宽度

.innerHeight//浏览器窗口的内部高度

.outerWidth

.outerHeight

Window.screen包含用户屏幕相关信息

.screen.height

.screen.width

.screen.availHeight

.screen.availWidth

Window.screenTop

Window.screenLeft

与document相关的宽高介绍

1、Client

document.body.clientWidth和document.body.clientHeight

指元素的可视部分宽度和高度,即padding+content.

若没有滚动条,即为元素设定的宽高

若有滚动条,则为原来宽高减去滚动条的宽高

无padding无滚动:clientWidth=style.width

有padding无滚动:clientWidth=style.width+style.padding*2

有padding有滚动:clientWidth=style.width+style.padding*2-滚动条宽度

document.body.clientLeft和document.body.clientTop

指元素周围边框的厚度,如果不指定边框或不定位元素,值为0

clientTop=border-top的border-width

clientLeft=border-left的border-width

2、Offset

offsetWidth和offsetHeight

指元素的border+padding+content的宽度和高度

该属性和内部的内容是否超出元素大小无关,只和设定的border以及width和height有关

无padding无滚动无border

offsetWidth=clientWidth=style.width

有padding无滚动条有border

offsetWidth=clientWidth+border宽度*2=style.width+style.padding*2+(border-width)*2

有padding有滚动条有border

offsetWidth=style.width+style.padding*2+(border-width)*2=clientWidth+滚动轴宽度+border宽度*2

offsetLeft和offsetTop

如果当前元素的父元素没有定位,则offsetParent为body

如果有定位,offsetParent取最近的父元素

3、Scroll

scrollWidth和scrollHeight

如图

scrollTop

scrollLeft

第76天:jQuery中的宽高的更多相关文章

  1. js/jQuery中的宽高

    一.和window有关的宽高 window.innerWidth:浏览器窗口宽度 window.innerHeight:浏览器窗口高度(不包括导航,工具栏等的高度) window.outerWidth ...

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

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

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

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

  4. canvas基础入门(一)canvas的width、height于css样式中的宽高区别

    canvas的width.height于css样式中的宽高对画布的内容显示是有所区别的 1.在canvas标签下调用他的width和height,而且是没有单位的宽高,这种指定canvas大小的方法也 ...

  5. jquery操作html中图片宽高自适应

    在网站制作中如果后台上传的图片不做宽高限制,在前台显示的时候,经常会出现图片变形,实用下面方法可以让图片根据宽高自适应,不论是长图片或者高图片都可以完美显示. $("#myTab0_Cont ...

  6. js中各种宽高

    各种宽高 Javascript: IE中:document.body.clientWidth ==> BODY对象宽度document.body.clientHeight ==> BODY ...

  7. JQuery的方便之处——宽高设置、坐标值和滚动条+事件绑定机制

    1.元素的宽高 可以通过css来进行设置,例如:$("元素").css({"宽度":"值","高度":"值&q ...

  8. DOM中获取宽高、位置总结

    原生JS 一.文档.窗口的宽高和位置 // 获取屏幕的宽高 window.screen.height | window.screen.width // 屏幕可用工作区宽高 window.screen. ...

  9. IE6中奇数宽高的BUG

    一个外部的相对定位div,内部一个绝对定位的div(right:0), 如图: 可是在IE6下查看,却变成了right:1px的效果了: IE6还有奇数宽高的bug,解决方案就是将外部相对定位的div ...

随机推荐

  1. 【Windows10】我的电脑从新装到优化配置

    [Windows10]我的电脑从新装到优化配置 必装软件 Visual Studio Microsoft VS Code Microsoft Expression Design 4 Notepad2- ...

  2. 再论WPF中的UseLayoutRounding和SnapsToDevicePixels

    原文:再论WPF中的UseLayoutRounding和SnapsToDevicePixels 版权声明:.net/web/医疗技术的木子纵横的个人分享 https://blog.csdn.net/m ...

  3. HBase第一章 安装 HMaster 主备

    1.集群环境 Hadoop HA 集群规划 hadoop1 cluster1 nameNode  HMaster hadoop2 cluster1 nameNodeStandby ZooKeeper ...

  4. 根据xml生成相应的对象类

    根据xml生成相应的class对象,听起来很难其实很简单,用xsd.exe就能办到 打开vs 命令行运行xsd.exe 你的xml文件地址 空格/outputdir:存放xsd的地址 ok,这是生成了 ...

  5. java 中的字符串

    创建String对象 String s1="xxx"://创建一个字符串对象“xxx”,名为s1; String s2=new String();//创建一个空字符串对象,名为S2 ...

  6. POJ 2251 Dungeon Master (三维BFS)

    题目链接:http://poj.org/problem?id=2251 Dungeon Master Time Limit: 1000MS   Memory Limit: 65536K Total S ...

  7. JVM自动内存管理机制--读这篇就GO了

    之前看过JVM的相关知识,当时没有留下任何学习成果物,有些遗憾.这次重新复习了下,并通过博客来做下笔记(只能记录一部分,因为写博客真的很花时间),也给其他同行一些知识分享. Java自动内存管理机制包 ...

  8. python-property、__get__、__set__

    目录 property __set__ 和 __get__ property property装饰器的应用来自这样一个问题:如果对实例的属性值不加以限制,那么实例的属性值会出现明显不合理的情况,为了解 ...

  9. Keepalived两节点出现双VIP的情况

    一.现象 安装有keepalived的两节点服务器10.11.4.186/187,主要做高可用,设定VIP10.11.4.185. 首先启动10.11.4.186的keepalived服务,服务启动正 ...

  10. node stream流

    stream 模块可以通过以下方式使用: const stream = require('stream');   Node.js 中有四种基本的流类型: Writable - 可写入数据的流(例如 f ...