关于scrollTop为0以及解决方法
一.当有DOCTYPE声明的时候,
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
需要用document.documentElement.scrollTop方法来获取滚动条高度。
当没有声明的时候,用document.body.scrollTop方法。
所以我们需要用到if...else...去判断。
如果有DOCTYPE声明,我们该怎么办,如果没有DOCTYPE声明,我们该怎么办。
var scotop ;
if(document.body.scrollTop){
scotop = document.body.scrollTop;
}else{
scotop = document.documentElement.scrollTop
}
二.这个方法是google找来的。
var scrollPos; if (typeof window.pageYOffset != 'undefined') { scrollPos = window.pageYOffset; } else if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat') { scrollPos = document.documentElement.scrollTop; } else if (typeof document.body != 'undefined') { scrollPos = document.body.scrollTop; } 程序解释: 解释1: document.body.scrollTop:就是滚动条顶部到网页顶部的这段距离 window.pageYOffset是NS专用属性,它的含义和IE下的document.body.scrollTop一样 。 解释2: 当文档有了标准声明时, document.compatMode 的值就等于 "CSS1compat", 当没声明的时候, document.compatMode 的值等于 "BackCompat",所以想判断文档是否有声明, 可以这么写: if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat'){ } 解释3: 当文档没有声明的时候,可以用 document.body.scrollTop;来获取滚动条高度。
from: cssrain.cn
转载于:https://www.cnblogs.com/ksyou/archive/2009/05/11/1453958.html
关于scrollTop为0以及解决方法相关推荐
- C# MainWindowHandle为0的解决方法
C# MainWindowHandle为0的解决方法 参考文章: (1)C# MainWindowHandle为0的解决方法 (2)https://www.cnblogs.com/xyz0835/p/ ...
- mysql sum 为 0 的解决方法
mysql sum 为 0 的解决方法 参考文章: (1)mysql sum 为 0 的解决方法 (2)https://www.cnblogs.com/huanghuanghui/p/9338037. ...
- IE11不支持Selenium 2.0的解决方法
IE11不支持Selenium 2.0的解决方法 参考文章: (1)IE11不支持Selenium 2.0的解决方法 (2)https://www.cnblogs.com/LanTianYou/p/4 ...
- csv 中 数值被自动转换成科学计数法 的问题 excel打开后数字用科学计数法显示且低位变0的解决方法
csv 中 数值被自动转换成科学计数法 的问题 excel打开后数字用科学计数法显示且低位变0的解决方法 参考文章: (1)csv 中 数值被自动转换成科学计数法 的问题 excel打开后数字用科学计 ...
- 蓝牙耳机芯片,苹果弹窗电量显示为0的解决方法
之前的蓝牙耳机重新都是默认电量为100%,但是后来添加了充电仓模块的程序之后,在选择使用一般充电仓的时候,手机弹窗就会0%,解决方法如下: 更新之后,我们能够发现原厂在之前的基础上进行了更深一步的封装 ...
- Matlab/Admas联合仿真提示 输入位移曲线 输出速度曲线为0的解决方法
Matlab/Admas联合仿真 输入位移时输出速度为0的解决方法 解决方法:将Adams Solver type(求解器类型)由C++改为Fortran就可以解决. 建立一个小球,添加一个与地面连接 ...
- vue 中监听document.body.scrollTop 值总为0的解决方法
// 基础资料 网页正文全文高: document.body.scrollHeight; 网页被卷去的高: document.body.scrollTop; scrollTop 设置或获取位于对象最顶 ...
- datagrid获取页面总记录数的方法,datagrid获取页面总记录数为0的解决方法
1 在网上查了一大堆博客,都只有下面这一段,也不知道这些人有没有测试 var data=$('#tt').datagrid('getData'); alert('总数据量:'+data.total)/ ...
- SQLyog 报错2058 :连接 mysql 8.0.12 解决方法
今天闲来无事,下载新版的 mysql 8.0.12 安装. 为了方便安装查看,我下载了sqlyog 工具 连接 mysql 配置新连接报错:错误号码 2058,分析是 mysql 密码加密方法变了. ...
最新文章
- 2008年12月13日上海USB驱动开发深度解析讲座PPT
- 关于null和undefined
- Python入门100题 | 第007题
- VLDB 2019 | 揭秘腾讯TDSQL全时态数据库系统
- 正确使用cookie中的domain
- cordova插件开发
- palindromic java_Longest Palindromic Substring leetcode java
- 《软件测试技术》课程第二周随笔
- C++中字符串转换函数to_string
- signature=995eb8e443ef674d51fa76dabc7ac89c,我國7-8歲學童動作協調能力之初探
- Speaker Recognition: Feature Extraction
- @Component,@Bean
- jQuery动画实现下拉菜单二级联动
- lammps教程:晶体建模之Atomsk方法(1)
- c语言erf函数,c/c++开发分享精确计算缩放互补误差函数,erfcx()
- 基于php的酒店管理系统答辩ppt,基于PHP的连锁酒店管理系统毕业设计论文+任务书+开题报告+中期报告+答辩PPT+项目源码及数据库...
- 美团外卖离线数仓建设实践
- 使用苹果手机/PAD做树莓派的外接屏幕
- 服务器稳定度cpu温度,现在这天气我的CPU温度稳定在60度...打游戏70度,会不会烧?...
- JAVA性能优化,从此不再重启tomcat服务