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). ...
随机推荐
- C# 钉钉第三方开发接入
钉钉开放平台 本文是针对钉钉开放平台的基于dotNetCore服务端开发和配置的描述 钉钉可开发的程序包括 企业内部应用,第三方企业应用,第三方个人应用 一.环境搭建 1.钉钉开发需要企业钉钉账号,如 ...
- gin框架初识(先跑一个简单demo) ①
Gin 是一个 go 写的 web 框架,具有高性能的优点.官方地址:https://github.com/gin-gonic/gin 先跑一个demo(先安装gin框架,具体见官方地址): 1.vs ...
- javaweb常识
Tomcat下载地址www.apache.org 在电脑中查看java版本:cmd中输入java -version tomcat解压后目录 bin:放可执行文件(如startup.bat shut ...
- SVN 问题解决之 Working copy path does not exist in repository
同事的SVN更新时提示某个特定文件提示 Working copy path does not exist in repository svn更新会被这个错误打断,导致无法完全更新 删掉文件再更新仍然有 ...
- 基于微软hyper-v虚拟化服务器搭建方法和步骤整理
基于Microsoft基础设施私有云计算搭建 摘要:私有云是指组织机构建设的专供自己使用的云平台,它所提供的服务不是供他人使用,而是供自己的内部人员或分支机构使用,不同于公有云,私有云部署在企业内部网 ...
- MYSQL日期相关操作
*******MYSQL中取当前周/月/季/年的第一天与最后一天******* 当年第一天: SELECT DATE_SUB(CURDATE(),INTERVAL dayofyear(now())-1 ...
- vue跳转本页面报错
一个按钮绑定一个方法,方法是跳转到某个路由地址,当已经点击触发方法到该路由下的时候,再进行点击该按钮控制台就会报错,不会影响项目运行 解决方法: if(this.$route.path == '/bi ...
- 在SAP云平台ABAP编程环境上编写第一段ABAP程序
距2017年秋季的SAP TechEd大会上一位大佬Björn Goerke,SAP's Chief Technology Officer宣布了SAP Cloud Platform即将支持ABAP至今 ...
- Maven打包Web项目成war包——4
1. 需要安装maven 的war插件支持 在pom.xml里面配置war插件 2. 运行命令: mvn clean package 3.部署到Tomcat下面发布,并访问!
- synchronized 和 ReentrantLock 区别是什么?(未完成)
synchronized 和 ReentrantLock 区别是什么?(未完成)