Document.body.scrollTop的值总为零的快速解决办法
有一个功能需要判断返回顶部按钮是否显示。
JS代码如下:
var sTop = document.body.scrollTop; if(sTop>100){ document.getElementById("sm_top").style.display="block"; }else{ document.getElementById("sm_top").style.display="none"; }
但是发现document.body.scrollTop一直是0。
查资料发现是DTD的问题。
页面指定了DTD,即指定了DOCTYPE时,使用document.documentElement。
页面没有DTD,即没指定DOCTYPE时,使用document.body。
IE和Firefox都是如此。
而我的页面加了<!DOCTYPE html>,所以如下即可。
/*判断回到顶部按钮显示与否*/ window.onscroll=function(){ var sTop = document.documentElement.scrollTop; if(sTop>100){ document.getElementById("sm_top").style.display="block"; }else{ document.getElementById("sm_top").style.display="none"; } }
以上所述是小编给大家介绍的Document.body.scrollTop的值总为零的解决办法,希望对大家有所帮助!
相关推荐
-
Document.body.scrollTop的值总为零的快速解决办法
有一个功能需要判断返回顶部按钮是否显示. JS代码如下: var sTop = document.body.scrollTop; if(sTop>100){ document.getElementById("sm_top").style.display="block"; }else{ document.getElementById("sm_top").style.display="none"; } 但是发现documen
-
java 中遍历取值异常(Hashtable Enumerator)解决办法
java 中遍历取值异常(Hashtable Enumerator)解决办法 用迭代器取值时抛出的异常:java.util.NoSuchElementException: Hashtable Enumerator 示例代码 //使用迭代器遍历 Iterator<String> it = tableProper.stringPropertyNames().iterator(); sqlMap = new HashMap<String,String>(); while(it.hasNe
-
JS获取浮动(float)元素的style.left值为空的快速解决办法
解决办法: 1.使用行内样式设置元素的top和left值; 2.or直接获取元素的offsetLeft得到相关数值,还不需要parseInt 问题原因: 如果父div的position定义为relative,子div的position定义为absolute,那么子div的style.left的值是相对于父div的值,这同offsetLeft是相同的,区别在于: style.left 返回的是字符串,如28px,offsetLeft返回的是数值28,如果需要对取得的值进行计算,还用offsetLe
-
解决VUE中document.body.scrollTop为0的问题
Vue中document.body.scrollTop的值总为零的解决办法 最近在做vue的时候监听页面滚动发现document.body.scrollTop一直为0 但是发现document.body.scrollTop一直是0. 查资料发现是DTD的问题. 页面指定了DTD,即指定了DOCTYPE时,使用document.documentElement. 页面没有DTD,即没指定DOCTYPE时,使用document.body. IE和Firefox都是如此. 以上这篇解决VUE中docum
-
document.body.scrollTop 值总为0的解决方法 比较常见的标准问题
做页面的时候可能会用到位置固定的层,读取 document.body.scrollTop 来设置层的位置,像这样: window.onscroll = function (){ var oFix = document.getElementById("divfix"); oFix.style.top = document.body.scrollTop + "px"; } 可是怎么没有达到预期效果呢,输出 document.body.scrollTop 的值一看,一直
-
document.documentElement && document.documentElement.scrollTop
在标准的浏览器下,需要注意的东西,例如双击自动滚动 var diffY; if (document.documentElement && document.documentElement.scrollTop) diffY = document.documentElement.scrollTop; else if (document.body) diffY = document.body.scrollTop else {/*Netscape stuff*/}
-
MyBatis框架零基础快速入门案例详解
目录 一.创建数据库和表 二.创建maven工程 三.代码编写 1.编写Student实体类 2.编写DAO接口StudentDao 3.编写DAO接口Mapper映射文件StudentDao.xml. 4.创建MyBatis主配置文件 四.创建测试类进行测试 1.创建测试类MyBatisTest 2.配置日志功能 五.增删改操作 insert操作 MyBatis下载地址:https://github.com/mybatis/mybatis-3/releases 一.创建数据库和表 数据库名ss
-
安装Oracle时出现环境变量Path的值大于1023的解决办法
出现的情况我就不说了,直接重点: 计算机->属性->高级系统设置->高级->环境变量 1)在"系统变量"编辑Path,全选将其中的路径全部复制出来放到文本文档中: 2)新建一个系统变量取名Path1 ,剪切Path中的所有变量放入Path1然后保存: 3)并将Path中全选删除改为默认值:%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;: 4)最后在Path中建立一个引用,也就是引用Pa
-
asp.net中“从客户端中检测到有潜在危险的Request.Form值”错误的解决办法
在提交表单时候,asp.net 提示:"从客户端(......)中检测到有潜在危险的 Request.Form 值" .asp.net中的请求验证特性提供了某一等级的保护措施防止XSS攻击,asp.net的请求验证是默认启动的. 这里给出不同版本.net的解决方法. asp.net 2.0 通常解决办法 方案一: 将.aspx文件中的page项添加ValidateRequest="false" ,如下: <%@ Page ValidateRequest=&qu
-
JSP 中使用cache取值出错解决办法
JSP 中使用cache取值出错解决办法 这段时间发现系统取数据过程中,偶尔出现取数据错乱的问题,按逻辑应该取出A数据,结果取出了B数据.仔细检查了代码, 发现代码逻辑没有问题,瞬间就蒙了,是哪里出现问题了呢.仔细想了一下,以前都没出现问题,自从加了缓存之后就偶尔出现了问题,那肯定问题是缓存有问题. 仔细研究了缓存的源码,原来问题出现在DefaultKeyGenerator生成key上面.代码如下: public class DefaultKeyGenerator implements Ke
随机推荐
- ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
- python类:class创建、数据方法属性及访问控制详解
- 延时重复执行函数 lLoopRun.js
- C# Redis学习系列(二)Redis基本设置
- php获取访问者IP地址汇总
- js如何获取兄弟、父类等节点
- 教你把Ghost克隆玩得再专业一点
- 如何让一个层关闭之后,就算刷新页面了也不显示。除非关闭页面再次打开
- 使用jquery实现鼠标滑过弹出更多相关信息层附源码下载
- C++中const应放在类型前还是后
- PHP函数utf8转gb2312编码
- PHP的宝库目录--PEAR
- SQLserver中字符串查找功能patindex和charindex的区别
- centos7.2.1511安装jdk1.8.0_151及mysql5.6.38的方法
- java解析XML Node与Element的区别(推荐)
- Java编程访问权限的控制代码详解
- 微信小程序实现用table显示数据库反馈的多条数据功能示例
- python实现数据分析与建模
- vue实现分环境打包步骤(给不同的环境配置相对应的打包命令)
- JS实现利用闭包判断Dom元素和滚动条的方向示例