获取距离

mac2025-04-22  9

基本情况:

显示器的屏幕信息

screeen.height 屏幕分辨率的高(定值) screen.width 屏幕分辨率的宽(定值) screen.availHeight 屏幕可用高度(屏幕分辨率的高度-上下测任务栏的高度,定值) screen.availWidth 屏幕可用宽度(屏幕分辨率的宽度-左右侧任务栏的宽度,定值)

浏览器信息

window.outerHeight 浏览器高度 window.innerHeight 浏览器可用高度 window.outerWidth 浏览器宽度 window.innerWidth 浏览器可用宽度

三大家族

短路运算

&&:短路与, 只要碰到了false,就会短路,短路后不会执行第二个表达式。

||:短路或,只要碰到了true就会短路,短路后不会执行第二个表达式。

注意:&&和||的结果不一定是布尔类型,也可以是其他的类型

||经常用来给函数设置默认值

三大家族

offset家族

offset系列用于用于获取元素自身的大小和位置,在网页特效中有广泛应用

offset系列主要有:offsetHeight、offsetWidth、offsetParent、offsetLeft、offsetTop

offsetHeight与offsetWidth

获取的是元素真实的高度和宽度获取到的是数值类型,方便计算offsetHeight与offsetWidth是只读属性,不能设置。

offsetHeight与offsetWidth的构成

​ offsetHeight = height + paddnig + border

​ offsetWidth = width + padding + border

scroll家族

scroll家族用来获取盒子内容的大小和位置

scroll家族有:scrollWidth、scrollHeight、scrollLeft、scrollTop

scrollWidth与scrollHeight是盒子内容的真实的宽度和高度。与和盒子大小无关,仅仅与盒子的内容有关系。scrollTop用于获取内容垂直滚动的像素数。如果没有滚动条,那么scrollTop值是0

onscroll事件,对于有滚动条的盒子,可以使用onscroll注册滚动事件,每滚动一像素,就会触发该事件。

var box = doucment.getElementById(“box”); box.onscroll = function(){ //事件处理程序 }

获取页面被卷去的高度和宽度

通常来说,scroll家族用的最多的地方就是用来获取页面被卷去的宽度和高度,非常的常用

页面被卷去的高度和宽度

window.onscroll = function() { var scrollTop = window.pageYOffset var scrollLeft = window.pageXOffset }

【仿腾讯固定导航案例.html】

client家族

client家族用于获取盒子可视区的大小

client家族有clientWidth、clientHeight、clientLeft、clientTop

clietnWidth: 获取内容和padding的大小

clientHeight:获取内容与padding的大小

clientTop与clientLeft

clientTop与clientLeft 完全没有用,他们就是borderTop与borderLeft

三大家族对比

onresize事件:onresize事件会在窗口被调整大小的时候发生。

window.onresize = function(){ //事件处理程序 var width = window.innerWidth; var height = window.innerHeight }

页面信息

document.body.offsetHeight body的总高度,也成为网页可见区域的高度(包括边框宽度)document.body.offsetWidth body的总宽度,也成为网页可见区域的宽度(包括边框宽度)document.body.clientHeight body向用户展示的高度,也成为网页可见区域的高度(不包括边框宽度)document.body.clientWidth body向用户展示的宽度,也成为网页可见区域的宽度(不包括边框宽度)

documwnt.body.scrollHeight=document.body.clientHeight:body的滚动高度

documwnt.body.scrollWidth: body的滚动宽度

scrollHeight:对象的滚动高度为对象的height值 scrollWidth:对象的滚动宽度为对象的width值

clientWidth=width+padding offsetWidth=clientWidth+border

对比

clientX鼠标到可视区的水平距离如果页面有垂直滚动条则有可能没有需要的结果clientY鼠标到可视区的垂直距离如果页面有垂直滚动条则有可能没有需要的结果pageX鼠标到页面的水平距离(常用)不管页面多长都能实现效果pageY鼠标到页面的垂直距离(常用)不管页面多长都能实现效果screenX鼠标到屏幕的水平距离当浏览器窗口移动,数值与上面两个都不一样screenY鼠标到屏幕的垂直距离当浏览器窗口移动,数值与上面两个都不一样
最新回复(0)