1、各浏览器下 scrollTop的差异

IE6/7/8/9/10:

对于没有doctype声明的页面里可以使用  document.body.scrollTop 来获取 scrollTop高度 ;

对于有doctype声明的页面则可以使用 document.documentElement.scrollTop  ;

Safari:

safari 比较特别,有自己获取scrollTop的函数 : window.pageYOffset ;

Firefox:

火狐等等相对标准些的浏览器就省心多了,直接用 document.documentElement.scrollTop ;

2、获取scrollTop值

完美的获取scrollTop 赋值短语 :

复制代码 代码如下:

var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;

通过这句赋值就能在任何情况下获得scrollTop 值。

仔细观察这句赋值,你发现啥了没??

没错, 就是 window.pageYOffset  (Safari)   被放置在 || 的中间位置。

因为当 数字0 与 undefine 进行 或运算时,系统默认返回最后一个值。即或运算中 0 == undefine ;

当页面滚动条刚好在最顶端,即scrollTop值为 0 时,IE 下 window.pageYOffset  (Safari) 返回为 undefine ,此时将 window.pageYOffset  (Safari) 放在或运算最后面时, scrollTop 返回 undefine ,  undefine 用在接下去的运算就会报错咯。

而其他浏览器 无论 scrollTop 赋值或运算顺序如何都不会返回 undefine.  可以安全使用..

所以说到头还是IE的问题咯. 杯具…

精神有点恍惚,不知道有没有表达清楚。

不过最后总结出来这句实验过OK,大家放心使用。

复制代码 代码如下:

var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;

这是完美的获取scrollTop赋值语句。

以上所述就是本文的全部内容了,希望大家能够喜欢。

时间: 2015-04-16

scrolltop 原生js_JS中完美兼容各大浏览器的scrolltop方法相关推荐

  1. JS中完美兼容各大浏览器的scrolltop方法

    1.各浏览器下 scrollTop的差异 IE6/7/8/9/10: 对于没有doctype声明的页面里可以使用 document.body.scrollTop 来获取 scrollTop高度 : 对 ...

  2. html5视频自动播放兼容谷歌浏览器,html5实现完美兼容各大浏览器的播放器

    歌曲播放我们会发现他的兼容性不是很好,譬如IE上能播放的flash播放器,再firfox或者chrome上就不是很好的应用了,因为有插件的阻碍!HTML5的出现让这一切成为了可能,但是播放器虽然播放了 ...

  3. php html5 播放器,html5实现完美兼容各大浏览器的播放器_html5教程技巧

    歌词同步播放器-powered by widuu xiaowei [ar:测试用 ] [00:03.00]洋葱 [00:06.00]演唱:平安 [00:09.00] [00:11.38]如果你眼神能够 ...

  4. CSS完美兼容IE6/IE7/FF的通用方法 ~!!!

    http://www.w3pop.com/learn/view/p/2/o/0/doc/css_hack_ie67_ff/ CSS完美兼容IE6/IE7/FF的通用方法 作者:w3pop.com 翻译 ...

  5. 批量打开网站链接工具,兼容各大浏览器,用户体验良好

    介绍一个批量打开网站链接的工具,兼容各大浏览器,在用户体验上升级,实现更加良好简单的使用,为各位有需求的大大提供了方便性 在线工具地址:https://www.lmcjl.com/index/grab ...

  6. html 兼容flv,怎么在html中插入.flv的视频,同时兼容各大浏览器呢?

    满意答案 和Lng2g3j 2016.04.22 采纳率:57%    等级:7 已帮助:4162人 向HTML中插入视频有两种方法,一种是古老的object标签,一种是html5中的video标签, ...

  7. 关于@font-face兼容各大浏览器的问题

    由于各大浏览器所支持的字体格式不一样,因此就要写兼容的代码 字体可以去网上下载,可以用第三方软件生成不同格式的字体.(网上搜在线字体转换即可) 代码如下 @font-face {font-family ...

  8. 兼容低版本浏览器的一些方法

    页面滚动的兼容方法 <!DOCTYPE html> <html lang="en"> <head><meta charset=" ...

  9. scrolltop 原生js_jQuery 中 scrollTop;原生的js怎么写

    展开全部 你好,我先需要明确e69da5e6ba9062616964757a686964616f31333337386538一下你是要问jQuery中scrollTop获取滚动条距顶端的距离,还是要使 ...

最新文章

  1. 原创 | 这可能是比房子更保值的资产?七步法构建数据资产价值评估模型
  2. 禁用磁盘检查_如何在Windows上禁用“磁盘空间不足”警告
  3. SpringCloud 入门教程(八): 断路器指标数据监控Hystrix Dashboard 和 Turbine
  4. mysql攻城掠地_【图片】攻城掠地单机版本服务端+攻城掠地GM工具【单兆权吧】_百度贴吧...
  5. 迈足狂奔!铁塔公司:目前北京已建好4400多座大型5G基站
  6. Linux一些软件的安装
  7. 【LOJ】 #2521. 「FJOI2018」领导集团问题
  8. android 登录qq接口开发,三方登录-QQ登录开发-Android(as版本)
  9. 中标麒麟 V7 操作系统安装达梦数据库 DM8
  10. html使用iframe包含pdf文件,react项目利用iframe显示pdf文件并打印
  11. Linux 一条命令删除某端口被占用的进程
  12. Vijos P1234 口袋的天空
  13. Port-knocking 简单教程
  14. vue 使用Dialog对话框使用过程中出现灰色遮罩问题
  15. PrimitiveCollection
  16. photoshop入门笔记1:PS的快捷键
  17. AD与AAD区别和联系
  18. JAVA语言 - Android拷贝assets文件(资源文件)
  19. 「硬见小百科」电子器件封装缺陷和失效的形式
  20. 锂电池电量百分比计算_锂电池容量计算

热门文章

  1. python框架Django中MTV框架之VIew(业务控制器)
  2. HTML5--多媒体viedo和radio
  3. 研大考研怎么样?详细了解研大
  4. 信息熵 entropy
  5. 4g android 手机排行榜,全球最结实的4G安卓手机开卖
  6. 安卓rom开发教程!跟Android初学者分享几点经验,写给正在求职的安卓开发
  7. aac模式_AAC的完整形式是什么?
  8. 春运12306抢票攻略
  9. 超值抢票攻略新鲜出炉!
  10. 大头贴制作大师 v6.6.2 绿色特别版.rar