查看滚动条的距离

方法 版本
window.pageXOffset / pageYOffset IE9/IE8及以下不支持(常规)
document.body.scrollLeft/scrollTop IE9/IE8及以下(部分支持,具体看模式)
document.documentElement.scrollLeft/scrollTop IE9/IE8及以下(部分支持,具体看模式)
window.scrollX / scrollY 不常见

  • 滚动条距离:也看页面真实移动了多少,不要看物理距离

兼容模式

浏览器的怪异模式和标准模式

  • 意味着需要按照W3C规范
  • CSS1Compat - W3C的兼容模式:标准模式
<!DOCTYPE html>
  • 若删除<!DOCTYPE html> 则为BackCompat - 怪异模式

浏览器的可视区域

方法 模式
window.innerWidth / innerHeight IE9/IE8及以下不支持(常规)【包括滚动条】
document.documentElement.clientWidth / clientHeight IE9/IE8及以下 - 标准 【不包括滚动条】
document.body.clientWidth / clientHeight IE9/IE8及以下 - 怪异 【包括滚动条】

  • outerWidth / outerHeight (包含了滚动条、侧边栏、控制台等)

文档尺寸

  • scrollWidth = window.innerWidth + window.pageXOffset 是真正html文档的宽高
方法 模式
document.documentElement.scrollWidth /scrollHeight IE9/IE8及以下 - 标准 【不包括滚动条】
document.body.scrollWidth / scrollHeight IE9/IE8及以下 - 怪异 【包括滚动条】

div.getBoundingClientRect()

  • 在IE中不返回宽高,可以用bottom-top计算
  • 不实时计算

offsetLeft

  • 只认父级的定位元素,没有则向上找到可视区域的边框
  • margin塌陷
  • 解决1,父元素加上边距
  • 解决2,BFC 但是offsetLeft仍然是100

offsetParent

  • 找有定位的父级
  • 没有则找到body

封装方法

  • 小盒子(左上角)距离文档左上角的坐标
  • document.body.offsetLeft 0

操作滚动条

  • 要滚动到window.scroll(x,y) / window.scrollTo(x,y)
  • 每一次滚动多少window.scrollBy(x,y) 应用:计时器+每次滚动(自动滚动)

DOM-5【兼容】滚动距离与高度、兼容模式、可视尺寸相关推荐

  1. 获取滚动条滚动距离兼容写法

    在chrome中,浏览器的滚动条是属于body的,可以通过 document.body.scrollTop来获取垂直滚动距离, document.body.scrollLeft来获取水平滚动距离, 火 ...

  2. DOM初探(14)——查看滚动条的滚动距离

    一:DOM基本操作: 查看滚动条的滚动距离 window.pageXOffset/pageYOffset IE8及以下不兼容(只有IE9以上的浏览器能用) document.body/document ...

  3. 使用事件委托降低重复的事件绑定,从而降低dom操作的对性能的消耗[兼容IE版]

    使用事件委托降低重复的事件绑定,从而降低dom操作的对性能的消耗[兼容IE版] 原理: W3C将DOM2.0模型中事件处理流程分为三个阶段: 一.事件捕获阶段: 当某个元素触发某个事件(如onclic ...

  4. vue动态获取元素距离页面顶部的高度_VUE如何实时监听元素距离顶部高度

    VUE如何实时监听元素距离顶部高度 发布时间:2020-07-30 09:09:43 来源:亿速云 阅读:150 作者:小猪 这篇文章主要讲解了VUE如何实时监听元素距离顶部高度,内容清晰明了,对此有 ...

  5. vue获取元素距离页面顶部的距离_VUE实时监听元素距离顶部高度的操作

    效果图如下所示 .html 今日热门 今日热销 .js mounted(){ window.addEventListener('scroll',this.handleScrollx,true) }, ...

  6. JavaScript网页滚动距离

    不同浏览器获取网页滚动距离的方法不同 浏览器在渲染网页的时候有两种模式:"标准模式(CSS1Compat)"."混杂模式/怪异模式(BackCompat)" 默 ...

  7. 小程序自定义导航封装成组件后如何监听滚动距离

    我获取滚动的距离,主要是想做自定义导航吸顶效果之后对样式进行改变的效果 思路:根据滚动距离的临界值,改变isActive的值 第一步:曲线救国的方式,因为onPageScroll方法在组件中不生效(目 ...

  8. javaScript:获取页面滚动距离的元素.scrollTop和元素.scrollLeft获取的兼容性处理(IE、Chrome 、 FireFox、Safari)

    + 向上滚动的距离: 元素.scrollTop 区别: ==> IE 浏览器 + 没有 DOCTYPE 声明的时候,用这两个都行 + 有 DOCTYPE 声明的时候,只能用 document.d ...

  9. android 应用置顶到最前端_uniApp / 小程序实现一个view滚动到一定高度置顶显示

    最近在使用uniApp做一个模仿美团小程序的demo,其中遇到这样一个需求,就是筛选模块滚动到顶部就置顶显示 查阅了uniApp的官方文档以及微信小程序的官方文档,发现都有一个相同的API,如下: 实 ...

最新文章

  1. Go 学习笔记(67)— Go 并发安全字典 sync.Map
  2. 倒计时1天 | 2019 AI ProCon报名通道即将关闭(附参会指南)
  3. 原子核与外围电子有非常大的空间为什么物体有光滑的平面
  4. NodeJS + Aliyun 实现 DDNS
  5. Node-流(Stream)三二事-1.0.1版本
  6. 阿里云发布智能语音自学习平台,零基础训练人工智能模型
  7. python3--匿名函数
  8. 电脑合上盖子不锁屏_笔记本电脑合上盖子或台式机离开后黑屏是“休眠”还是“睡眠”...
  9. php常用标签,PHP 过滤常用标签的正则表达式
  10. win8:添加WinJS控件
  11. 《亲密关系》良句收录和观后观想
  12. python错误提示未定义tn_未找到Python方法,但在类中定义
  13. 五线舵机驱动程序_16路舵机驱动板程序使用说明
  14. RN style的常用布局页面属性
  15. 人工智能学习笔记 - 预备篇之高中数学快速复习
  16. 定时清理服务器日志文件
  17. Python-Flask开发微电影网站(二)
  18. c语言while中100 95,C语言笔试题100道
  19. .net 实现三种验证码(汉字验证码,数字验证码,数字+英文验证)附带登陆验证实例
  20. linux daemon步骤,编写Linux系统下Daemon程序的方法步骤

热门文章

  1. proteus跑马灯仿真_不花费一分钱,实现跑马灯编程实验
  2. qpython3怎样安notebook_Windows下基于Python3安装Ipython Notebook(即Jupyter)。python –m pip install XXX...
  3. date oracle 显示毫秒_Oracle date timestamp 毫秒 - 时间函数总结
  4. 团队行为心理学读书笔记(1)
  5. MKL学习——功能简介
  6. Python中的除法保留两位小数
  7. 肺部胸片图像掩膜和伪彩色处理matlab
  8. 计算机视觉应关注的资源
  9. flutte的第一个hello world程序
  10. 在ubuntu中安装minicom时出现device /dev/tty8 is locked解决办法