window.pageYOffset 被所有浏览器支持除了 IE 6, IE 7, IE 8, 不关doctype的事, 注IE9 开始支持此属性。

window.scrollY 被Firefox, Google Chrome , Safari支持 不关doctype的事, 注IE9 不支持此属性。

在(quirk 模式)的时候 document.body.scrollTop 在 Internet Explorer, Firefox, Opera, Google Chrome Safari 返回正确的值。
在(quirk 模式)的时候 document.documentElement.scrollTop 永远是零。

在(非quirk模式)的时候 document.documentElement.scrollTop在 Internet Explorer, Firefox and Opera 下返回正确的值 但是在 Google Chrome ,Safari 中永远是零。

特整理表格如下:


只在quirk模式下, body.scrollTop是被所有都支持的,所以这个表大家不用也没有必要去记, 只要记住一条:以上在win7环境下测试,可以看出是非常凌乱的!

1 if(window.pageYOffset){//这一条滤去了大部分, 只留了IE678
2
3 }else if(document.documentElement.scrollTop ){//IE678 的非quirk模式
4
5 }else if(document.body.scrolltop){//IE678 的quirk模式
6
7 }

原则是看pageYOffset 然后看documentElement.scrollTop, 最后是document.body.scrollTop!

转载于:https://www.cnblogs.com/ttcc/p/3923508.html

浏览器获取正确的scrollTop值相关推荐

  1. xml 标签带有符号php,php-如果元素每个记录有相似的标记,则获取正确的xml值

    php-如果元素每个记录有相似的标记,则获取正确的xml值 我正在获取以下XML文件: XML文件: 5EXZX4LPK I Bornheim 2017-01-01 2017-12-31 ACCOUN ...

  2. cefsharp获取ajax返回值,使用javascript从CefSharp浏览器获取文本框的值

    我有一个Winforms应用程序,它具有ChromiumWebBrowser控件和一些基本的Windows控件.我希望能够点击一个按钮,调用JavaScript来获取浏览器中的文本框的值,并将返回的值 ...

  3. jquery获取html页面参数乱码,JS或Jquery获取浏览器URL的参数值 汉字值乱码 并转码...

    1.获取url很简单,代码如下:window.location.href; 2.jquery获取url参数比较复杂,要用到正则表达式,所以学好javascript正则式多么重要的事情 首先看看单纯的通 ...

  4. easyUI-textbox回车获取不到正确的textbox值问题

    //要先给文本框手动赋值之后才可以获取正确的文本框内容 var t = $('#tt'); t.textbox('textbox').bind('keydown', function(e){if (e ...

  5. thymeleaf 获取yml中的值_SpringBoot引入Thymeleaf

    1.Thymeleaf简介 Thymeleaf是个XML/XHTML/HTML5模板引擎,可以用于Web与非Web应用 Thymeleaf的主要目标在于提供一种可被浏览器正确显示的.格式良好的模板创建 ...

  6. vue 中监听document.body.scrollTop 值总为0的解决方法

    // 基础资料 网页正文全文高: document.body.scrollHeight; 网页被卷去的高: document.body.scrollTop; scrollTop 设置或获取位于对象最顶 ...

  7. vue项目获取下拉框选中id_vue获取下拉框值

    vue获取下拉框的值,用vue-modle,只有点击下拉框的值才会赋值到下拉框中,初始时下拉框没有数据,而改用$event就不会出现这样的问题,下面看代码以及图解: v-model解决方式: {{it ...

  8. ajax成功进入success但是获取不到返回值

    一.前言 最近做前端的时候,发现个奇怪的问题,ajax获取不到返回值了,问题是还是会到success中,也是可以正常打印的,就是没有response,奇怪. 二.正文 1.首先是不走success的问 ...

  9. php 提交网页 传值 获取编辑框的值

    如果可以刷新页面,可以有POST或者GET方式来讲其传过去,方法同上 如果要不刷新页面,那应该用AJAX来实现,用JavaScript在页面获取到值后,再利用浏览器内置的XMLHttpRequest对 ...

最新文章

  1. tensorflow生成对抗网络
  2. 如何在 Python 中创建一个简单的神经网络
  3. python做bi系统_如何使用Python创建可视化对象
  4. ×××linux下samba服务器
  5. React Native进行签名打包成Apk
  6. C盘下什么文件能删除?
  7. learning material at the outer world
  8. IOS成长之路-检测耳机插入/拔出
  9. mysql自动写入创建时间_mysql 自动记录数据插入及最后修改时间
  10. 富士通台式电脑_电脑bios怎么进入-电脑bios进入方法介绍
  11. element-UI 弹出组件dialog的遮罩层在弹出层的上面 - 解决篇
  12. 别乎略安身立命的基础本领
  13. VMware ESXi客户端连接控制台时提示VMRC控制台连接已断开...正在尝试重新连接的解决方法...
  14. Oracle 数据库 各种索引类型 简单介绍
  15. linux---dns/yum安装软件/定时任务
  16. 如何成为一名数据分析师
  17. 百度竞价推广应如何做好!
  18. 计算机考研,不止计算机!盘点我们考研可以考的计算机相关专业
  19. 百度地图自定义图标偏移问题
  20. 纪中国庆10.5做题小结

热门文章

  1. React开发(280):moment处理日期
  2. 前端学习(3332):ant design介绍button
  3. 前端学习(3302):createRef
  4. [css] 举例说明CSS特性检测的方式有哪些?
  5. 工作314:uni-提交成功加入表单验证
  6. 前端学习(2215):认识react(2)
  7. “约见”面试官系列之常见面试题之第六十二篇之IE和兼容下写法(建议收藏)
  8. 前端学习(2045)vue之电商管理系统电商系统之优化chainwebpack自定义打包入口
  9. 前端学习(1920)vue之电商管理系统电商系统之角色列表路由的切换
  10. 前端学习(1880)vue之电商管理系统电商系统之获取左侧菜单数据