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
随机推荐
- 荐书|程序员书单必不可少系列之算法篇
- flex不显示GIF图片问题的另类解决方法
- MySQL中复制数据表中的数据到新表中的操作教程
- iOS应用开发中导航栏按钮UIBarButtonItem的添加教程
- 利用types增强vscode中js代码提示功能详解
- javascript小数计算出现近似值的解决办法
- Asp.Net使用Bulk实现批量插入数据
- php通过PHPExcel导入Excel表格到MySQL数据库的简单实例
- ASP存储过程开发应用详解第1/2页
- 通过Response.Flush()实现下载失败的解决方法
- js流动式效果显示当前系统时间
- 鼠标事件延时切换插件
- 利用javascript判断文件是否存在
- JavaScript获取客户端IP的方法(新方法)
- Java 语言实现清除带 html 标签的内容方法
- 弹出自适应图片大小的窗口弹出窗口根据图片大小,自动判断高和宽。
- 深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP详解
- Java 异常的栈轨迹(Stack Trace)详解及实例代码
- Android自定义控件深入学习 Android生成随机验证码
- ASP.NET MVC的Localization本地化多语言支持