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 的值一看,一直都是 0。原来是 DTD 的问题,要是页面直接用 开头的话就没有问题了。但是要符合 web 标准,DTD 当然是不能少的。具有 DTD 时用 document.documentElement.scrollTop 代替 document.body.scrollTop 就可以了。
window.onscroll = function (){
var oFix = document.getElementById("divfix");
oFix.style.top = document.documentElement.scrollTop + "px";
}
编者注:
页面具有 DTD(或者说指定了 DOCTYPE)时,使用 document.documentElement。
页面不具有 DTD(或者说没有指定了 DOCTYPE)时,使用 document.body。
在 IE 和 Firefox 中均是如此。
为了兼容,可以使用如下代码: var scrollTop = window.pageYOffset
|| document.documentElement.scrollTop
|| document.body.scrollTop
|| 0;
相关推荐
-
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 的值一看,一直
-
JS模态窗口返回值兼容问题的完美解决方法
因系统要兼容原IE已使用的关闭方法,经调试测得,需对window.dialogArguments进行再较验,不然易出问题. function OKEnd(vals) { if (vals == null) vals = "TRUE"; if (typeof (window.opener) == "undefined") { if (typeof (window.dialogArguments) != "undefined") { if (wind
-
Android线程中设置控件的值提示报错的解决方法
本文实例讲述了Android线程中设置控件的值提示报错的解决方法.分享给大家供大家参考,具体如下: 在Android线程中设置控件的值一般会与Handler联合使用,如下: package com.yarin.android.Examples_04_15; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import andro
-
MySQL5.7中的sql_mode默认值带来的坑及解决方法
在正常项目开发过程中,如果MySQL版本从5.6升级到5.7版本.作为DBA在考虑数据库版本升级带来的影响时,一般会有几个注意点: sql_mode optimizer_switch 本文主要内容是MySQL升级到5.7版本之后,由于默认的 sql_mode 值带来的坑以及对应的解决方案. 案例一:ONLY_FULL_GROUP_BY 问题描述 MySQL版本从5.6升级至5.7之后,部分SQL执行报错,报错信息如下: ERROR 1055 (42000): Expression #3 of X
-
基于layui table返回的值的多级嵌套的解决方法
我在学习layui的过程中遇到了table返回值的问题,如果服务器端返回给你的数据是多级嵌套的话,那你在前台是解析不了的,在table.js源码中 它渲染数据是用了 data = res[options.response.dataName] || [] 这个意味着它源码不支持嵌套数据 举个例子把 比如服务器端返回的数据中data>dataList>list 把这个数据返回给前段解析出来的是 res[data.dataList.list]类似这种的结构,当然解析不了,所以我写了一个方法处理返回的
-
JQuery 设置checkbox值二次无效的解决方法
在此MVC ASP.NET 项目,我利用jquery ajax传输数据给后台controller控制层,返回数据给JQuery数据. 首先必须清除checkbox的选中,因为是ajax的异步操作,是不刷新页面的,所以需要手段充值控件值,使得其为空,不影响下次的拿到数据显示. 言归正传,$("#checkboxID").attr('checked', false);//设置checkbox为不选中状态, $("#checkboxID").attr('checked',
-
Ubuntu18.04安装opencv 3.2.0的解决方法
下载opencv.zip 要提前安装依赖项. 先更新一下下载源.用17.04 的源可以解决在18.04中找不到libjasper.dev的问题. ref https://stackoverflow.com/questions/43484357/opencv-in-ubuntu-17-04 libjasper-dev无法安装 errorE: unable to locate libjasper-dev 解决方法 sudo add-apt-repository "deb http://securit
-
chrome下jq width()方法取值为0的解决方法
http://photo.163.com/shixiaojian089/train/28002 这是网易的一个相册,看到后想试着做做看. 在我的制作方法中,需要获取到每张照片的宽度,所以很自然就使用了jq的width()方法.在ff跟ie下运行问题不大,但是到了chrome上,就出现问题了. 使用alert排查,发现chrome下width方法取到的值都是0.这样子的话,想来就是脚本运行到这的时候图片根本没加载好.问题应该出在$(function(){});上,因为这个方法只要求加载完dom就开
-
MSSQL中进行SQL除法运算结果为小数却显示0的解决方法
今天在用MSSQL进行SQL除法运算时,发现运算结果有小数,而整数部分为0时,结果直接显示为0,经过一翻测试发现了解决方法,拿来分享. 假设有如下的一段SQL除法运算: select field1/field2 from table 假设其运算结果应该为0.123,但实际在MSSQL查询编辑器中运算直接就显示为0了,那么要想显示其真实结果,有什么办法呢?方法就是将分子field1的数据类型强制转换为float型,方法如下: select cast(field1 as float)/field2
-
dedecms后台验证码总提示错误的解决方法
直接用下面的代码,覆盖dede中的login.php即可 复制代码 代码如下: <? require_once(dirname(__FILE__)."/../include/config_base.php"); require_once(dirname(__FILE__)."/../include/inc_userlogin.php"); if(empty($dopost)) $dopost=""; //------------------
随机推荐
- AngularJS使用angular.bootstrap完成模块手动加载的方法分析
- 22个国外的Web在线编辑器收集
- 简述Angular 5 快速入门
- 2009年最新版 win2003 IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置教程第1/8页
- Windows下bat批处理脚本使用telnet批量检测远程端口小记
- asp.net(C#) 开源资源大汇总
- android开发教程之ubuntu使用adb连接小米2的步骤和adb调试方法
- php读取qqwry.dat ip地址定位文件的类实例代码
- 基于Jquery+div+css实现弹出登录窗口(代码超简单)
- 简单介绍Python中用于求最小值的min()方法
- python计算一个序列的平均值的方法
- python 根据pid杀死相应进程的方法
- 『jQuery』.html(),.text()和.val()的概述及使用
- 基于jQuery实现表单提交验证
- android实现关闭或开启移动网络数据
- spring boot实战教程之shiro session过期时间详解
- C#备忘录模式(Memento Pattern)实例教程
- c#序列化详解示例
- java使用Apache工具集实现ftp文件传输代码详解
- python 提取key 为中文的json 串方法