深入浅析JavaScript中的scrollTop


Posted in Javascript onJuly 11, 2016

含义:滚动条高度

作用:滚动加载(ajax),滚动导航固定定位,滚动弹框定位等等.

展示滚动导航和侧边栏滚动固定定位的效果:

1、chrome浏览器

document.body.scrollTop和document.documentElement.scrollTop都可以

2、各浏览器下 scrollTop的差异

IE6/7/8/9/10:

对于没有doctype声明的页面里可以使用 document.body.scrollTop 来获取 scrollTop高度 ;
对于有doctype声明的页面则可以使用 document.documentElement.scrollTop ;

Safari:

safari 比较特别,有自己获取scrollTop的函数 : window.pageYOffset ;

Firefox:

火狐等等相对标准些的浏览器就省心多了,直接用

document.documentElement.scrollTop ;

3、获取scrollTop值

完美的获取scrollTop 赋值短语 :

var scrollTop = document.documentElement.scrollTop||window.pageYOffset||document.body.scrollTop;

ps:javascript中scrolltop用法的问题

document.documentElement.scrollTop指的是滚动条的垂直坐标

document.documentElement.clientHeight指的是浏览器可见区域高度

document.documentElement.clientHeight-oDiv是悬浮框的初始垂直坐标(相对于body的top值)(这个值是固定不变的)

但是当你拉动滚动条的时候,悬浮框的垂直坐标(target)必须要在初始坐标的基础上增减相应的值才能获得视觉上随滚动条滚动的效果,而这个增减的值就是滚动条拉动的距离,即你这个scrollTop

下面给大家说下javascript中scrollTop和offsetTop有啥区别

scrollTop是指某个可滚动区块向下滚动的距离,比如向下滚动了10个像素,那么这个元素的scrollTop属性值就是10;

offsetTop则是元素的上边框与父元素的上边框的绝对距离。

两者描述的不是同一个东西,所以没有可比性。

以上所述是小编给大家介绍的JavaScript中的scrollTop的全部叙述,希望对大家有所帮助,如果大家想了解更多内容,敬请关注三水点靠木!

Javascript 相关文章推荐
更优雅的事件触发兼容
Oct 24 Javascript
JavaScript中奇葩的假值示例应用
Mar 11 Javascript
用js读写cookie的简单方法(推荐)
Aug 08 Javascript
浅谈JavaScript 中有关时间对象的方法
Aug 15 Javascript
通过示例彻底搞懂js闭包
Aug 10 Javascript
Vue的elementUI实现自定义主题方法
Feb 23 Javascript
JS前端知识点总结之页面加载事件,数组操作,DOM节点操作,循环和分支
Jul 04 Javascript
vue实现吸顶、锚点和滚动高亮按钮效果
Oct 21 Javascript
vue.js的简单自动求和计算实例
Nov 08 Javascript
vue vantUI tab切换时 list组件不触发load事件的问题及解决方法
Feb 14 Javascript
OpenLayers3实现鼠标移动显示坐标
Sep 25 Javascript
详解Vue中$props、$attrs和$listeners的使用方法
Feb 18 Vue.js
js鼠标单击和双击事件冲突问题的快速解决方法
Jul 11 #Javascript
js 弹出对话框(遮罩)透明,可拖动的简单实例
Jul 11 #Javascript
Bootstrap3制作搜索框样式的方法
Jul 11 #Javascript
jQuery实现table中的tr上下移动并保持序号不变的实例代码
Jul 11 #Javascript
一个简单不报错的summernote 图片上传案例
Jul 11 #Javascript
Bootstrap实现弹性搜索框
Jul 11 #Javascript
Summernote实现图片上传功能的简单方法
Jul 11 #Javascript
You might like
德劲1103的维修打理经验
2021/03/02 无线电
ThinkPHP3.2.3实现分页的方法详解
2016/06/03 PHP
Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】
2019/02/13 PHP
php基于 swoole 实现的异步处理任务功能示例
2019/08/13 PHP
4种Windows系统下Laravel框架的开发环境安装及部署方法详解
2020/04/06 PHP
AngularJS基础学习笔记之控制器
2015/05/10 Javascript
Javascript模仿淘宝信用评价实例(附源码)
2015/11/26 Javascript
基于node实现websocket协议
2016/04/25 Javascript
JavaScript实现Java中Map容器的方法
2016/10/09 Javascript
KnockoutJS 3.X API 第四章之数据控制流if绑定和ifnot绑定
2016/10/10 Javascript
原生JS京东轮播图代码
2017/03/22 Javascript
javascript回调函数的概念理解与用法分析
2017/05/27 Javascript
Vue 滚动行为的具体使用方法
2017/09/13 Javascript
微信小程序switch开关选择器使用详解
2018/01/31 Javascript
微信小程序将字符串生成二维码图片的操作方法
2018/07/17 Javascript
JavaScript使用类似break机制中断forEach循环的方法
2018/11/13 Javascript
基于vue-cli搭建多模块且各模块独立打包的项目
2019/06/12 Javascript
微信小程序仿今日头条导航栏滚动解析
2019/08/20 Javascript
详解JavaScript之ES5的继承
2020/07/08 Javascript
Python采用socket模拟TCP通讯的实现方法
2014/11/19 Python
Python中实现参数类型检查的简单方法
2015/04/21 Python
Python实现Pig Latin小游戏实例代码
2018/02/02 Python
Python 数据库操作 SQLAlchemy的示例代码
2019/02/18 Python
Python GUI编程 文本弹窗的实例
2019/06/11 Python
通过实例解析Python RPC实现原理及方法
2020/07/07 Python
JMS中Topic和Queue有什么区别
2013/05/15 面试题
什么是唯一索引
2015/07/05 面试题
explicit和implicit的含义
2012/11/15 面试题
经典洗发水广告词
2014/03/13 职场文书
关于上班时间调整的通知
2015/04/23 职场文书
2015年机关党建工作总结
2015/05/22 职场文书
婚育证明格式
2015/06/17 职场文书
百年孤独读书笔记
2015/06/29 职场文书
小学体育队列队形教学反思
2016/02/16 职场文书
你为什么是穷人?可能是这5个缺点造成
2019/07/11 职场文书
ssh服务器拒绝了密码 请再试一次已解决(亲测有效)
2022/08/14 Servers