浏览器尺寸

196 阅读2分钟

一、获取浏览器窗口的尺寸

innerwidth//获取宽度<br>
innerheight//获取高度<br>

可视区域,包含滚动条 mac不包含滚动条<br>

二、scroll窗口的滚动事件

一般写一个匿名函数

window.onscroll=function(){console.log('滚动}<br>
//表示当前窗口滚动的时候,会执行此函数<br>
//浏览器滚动事件,当页面发生变化是触发,不论是上下还是水平方向的滚动<br>

scroll系列可以动态的获取元素的大小,滚动距离

语法:元素.scrolltop<br>
返回值:返回元素被卷上去上侧的距离,返回值不带单位。<br>可读写的属性:写入的时候可以使页面瞬间滚动到指定位置<br>

2.1自定义滚动函数

scrolltop()<br>函数只能设置滚动到指定地点,滚动时间是固定的,如果滚动的距离比较大,则滚动的比较快,弱项匀速滚动,需要自定义函数<br>

2.2卷曲的宽度``

卷去的宽度和高度:当页面比窗口高或者宽时,会有一部分内容随页面滚动而隐藏,上面隐藏的高度称为卷去的高度,左侧隐藏的宽度称之为卷去的宽度
``

页面必须有DOCTYPE标签

docunent。documentElement。scrollLeft<br>作用:返回页面被卷上去的头部距离。<br>

2.3 卷去的高度

1. 页面必须要有DOCTYPE标签

document.documentElement.scrollTop
//使用时必须要有DOCTYPE,如果没有获得滚动高度一直是0。

作用:
    返回页面被卷进去的高度。

2. 页面必须没有DOCTYPE标签

document.body.scrollTop
//使用时必须没有DOCTYPE,如果有,获得滚动高度一直是0。

作用:
    返回页面被卷进去的高度。

2.4 兼容写法

  • 使用短路来处理兼容性问题,前提条件是不能报错。
var scrLeft = document.documentElement.scrollLeft || document.body.scrollLeft;

var scrTop = document.documentElement.scrollTop || document.body.scrollTop;

2.5 新增的,ie9以上版本才支持

window.pageYOffset 垂直方向

window.pageXOffset 水平方向

三、滚动到指定位置

####3.1 scrollTo()

格式:
    scrollTo(横坐标,纵坐标)
  1. 不要单位
  2. 两个参数必须写全

3.2 scrollTo(对象)

scrollTo({
    top: 纵坐标,
    left: 横坐标,
    behavior: "smooth"
    //用来决定定位的方式是瞬间定位还是平滑定位。
    // 瞬间定位:instant
    //平滑定位: smooth
})

\