2019独角兽企业重金招聘Python工程师标准>>>

在页面上加上了

<!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.01   Transitional//EN"   
  "http://www.w3.org/TR/html4/loose.dtd">

之后,document.body.scrollTop的值一直为0(在IE和FF下),网上有人改为document.documentElement.scrollTop就可以了,试用了一下真的OK了。

但是当换到Google浏览器时,问题又出来了,document.documentElement.scrollTop值一直为0!到是document.body.scroll的值正确了。

网上有解决方案如下:(http://www.codebit.cn/pub/html/javascript/tip/get_scroll_position/)

[javascript] view plaincopy

  1. <mce:script type="text/javascript"><!--

  2. // 说明:用 Javascript 获取滚动条位置等信息

  3. // 来源 :ThickBox 2.1

  4. // 整理 :CodeBit.cn ( http://www.CodeBit.cn )

  5. function getScroll()

  6. {

  7. var t, l, w, h;

  8. if (document.documentElement && document.documentElement.scrollTop) {

  9. t = document.documentElement.scrollTop;

  10. l = document.documentElement.scrollLeft;

  11. w = document.documentElement.scrollWidth;

  12. h = document.documentElement.scrollHeight;

  13. } else if (document.body) {

  14. t = document.body.scrollTop;

  15. l = document.body.scrollLeft;

  16. w = document.body.scrollWidth;

  17. h = document.body.scrollHeight;

  18. }

  19. return { t: t, l: l, w: w, h: h };

  20. }

  21. // --></mce:script>

首先说明,这段代码是正确的。只是当document.documentElement和document.documentElement.scrollTop都有值,但是document.documentElement.scrollTop==0时,有点误导人,呵呵。

于是我改成如下:

[javascript] view plaincopy

  1. var top = document.body.scrollTop;

  2. if(0==top){

  3. top = document.documentElement.scrollTop;

  4. }

  5. alert(top);

后来发现

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

这样更简单,而且在我的几种浏览器下也都OK。。。。。

转载于:https://my.oschina.net/122612475/blog/313478

scrollTop的兼容性小结相关推荐

  1. android accessibility 模拟键盘事件_H5 键盘兼容性小结

    在 H5 项目中,我们会经常遇到页面中存在单个甚至多个 input/textarea 输入框与底部固定元素的布局情况.在 input/textarea 输入框获取焦点时,会自动触发键盘弹起,而键盘弹出 ...

  2. android 如何判断h5页面是否加载完成_H5 键盘兼容性小结

    " 我们经常需要填写表单,键盘的行为存在各种差异." 在 H5 项目中,我们会经常遇到页面中存在单个甚至多个 input/textarea 输入框与底部固定元素的布局情况.在 in ...

  3. h5如何动态获取键盘高度_H5 键盘兼容性小结

    在 H5 项目中,我们会经常遇到页面中存在单个甚至多个 input/textarea 输入框与底部固定元素的布局情况.在 input/textarea 输入框获取焦点时,会自动触发键盘弹起,而键盘弹出 ...

  4. h5底部输入框被键盘遮挡_H5 键盘兼容性小结

    " 我们经常需要填写表单,键盘的行为存在各种差异." 在 H5 项目中,我们会经常遇到页面中存在单个甚至多个 input/textarea 输入框与底部固定元素的布局情况.在 in ...

  5. IE兼容性小结(IE7及以上版本)

    缘由 在急速的互联网时代,原本ie系列的低版本浏览器就该淘汰了.可偏偏还是有很多xp系统ie7.8浏览器,这有让网站甚是苦逼.练就了一套新技术,原本以为能大展身手,可却在ie阵容中认怂了,不得不规规矩 ...

  6. scrollTop兼容性问题

    很多时候需要获取页面的scrollTop的值,通常使用document.body.scrollTop来获取值.今天在review代码时,发现这个写法无法获取到scrollTop的值,查阅资料发现scr ...

  7. onsrcoll和scrollTop兼容与实现

    对于onscroll事件的支持 各浏览器 document.document.body.document.documentElement 对象的 onscroll 事件的支持存在差异. 所谓的支持性存 ...

  8. 怎么得到scrollTop

    我们学习一个事件 :  页面滚动效果 window.onscroll = function() { 页面滚动语句  } 谷歌浏览器 和没有声明 DTD  <DOCTYPE     > : ...

  9. javascript滚动到顶部scrollTop用法

    首先了解下列相关属性 网页可见区域宽: document.body.clientWidth; 网页可见区域高: document.body.clientHeight; 网页可见区域宽: documen ...

最新文章

  1. 「大咖云集硅谷AI大会」人工智能商业化的趋势与挑战
  2. centos7 iptables 端口转发 保存_Linux 开发笔记《如何在CentOS 7上启动和启用Firewalld》...
  3. vue-router区分hash模式和history模式
  4. Tomcat--远程Debug以及参数配置调优
  5. Unity 制作RPG小地图
  6. spring之初识IocAop
  7. 开心记账本 投资理财两不误
  8. 面试官就是这么欺负人:new Object()到底占用几个字节?
  9. POJ1741 点分治模板
  10. Django-进阶 分页,中间件
  11. php 读取本地excel文件,PHP读取Excel文件的简单示例
  12. 有隐藏分区如何激活win7旗舰版
  13. 社交网络时代下的网络营销
  14. LaTeX代码: 在PPT中插入图片 ← 利用 beamer 宏包
  15. 如何将IE浏览器设置为默认浏览器
  16. vps和云主机哪个好
  17. 马可夫链和隐马可夫链_马可夫随机场和图像处理
  18. 5G智慧合杆的城市商业区应用
  19. Microsoft Teams安装教程
  20. puzzle(0711)《机关排布》接水管、搭桥

热门文章

  1. 用jsonserve和axios做交互_详解解决使用axios发送json后台接收不到的问题
  2. JAVA的数据类型有哪些?
  3. 如何制作印章_用Word也能做出逼真的电子印章!简单3步!1分钟搞定
  4. 变电站计算机在线监控系统,变电站环境在线监测系统
  5. python自动备份数据库_Python Mysql自动备份脚本
  6. java annotation 实现_在Java中如何实现自己的annotation
  7. ioc spring 上机案例_Spring的IoC入门案例
  8. 2.2线性表的顺序表
  9. b站前端大佬_知乎大佬强烈热推的5个自学网站,看了几个月,月薪三千涨三万...
  10. 里面怎么模拟裂纹_警惕!你买的翡翠有裂纹吗?它能让翡翠的价值暴跌