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
随机推荐
- web2.0中流行的设计元素:颜色
- 简体中文转换为繁体中文的PHP函数
- mysql压力测试脚本实例
- JavaScript 中有关数组对象的方法(详解)
- iOS直播类APP开发流程解析
- asp,asp.net学习教程下载
- ReactNative短信验证码倒计时控件的实现代码
- 剖析Python的Twisted框架的核心特性
- javascript 补零 函数集合
- Java多线程编程之限制优先级
- Android程序开发之防止密码输入错误 密码明文显示功能
- mysql常用命令大全 mysql常用命令总结
- 微信小程序删除处理详解
- python使用Queue在多个子进程间交换数据的方法
- 浅谈javascript事件取消和阻止冒泡
- jQuery插件slicebox实现3D动画图片轮播切换特效
- javascript基本包装类型介绍
- C语言实现的统计php代码行数功能源码(支持文件夹、多目录)
- Java的JSON处理器fastjson使用方法详解
- C#使用foreach语句搜索数组元素的方法