深入浅析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 相关文章推荐
JQUERY简单按钮轮换选中效果实现方法
May 07 Javascript
jQuery模拟黑客帝国矩阵效果实例
Jun 28 Javascript
JavaScript实现点击自动选择TextArea文本的方法
Jul 02 Javascript
JS非Alert实现网页右下角“未读信息”效果弹窗
Sep 26 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
Dec 13 Javascript
JavaScript中定义对象原型的两种使用方法
Dec 15 Javascript
原生js实现放大镜效果
Jan 11 Javascript
angular6.0使用教程之父组件通过url传递id给子组件的方法
Jun 30 Javascript
浅谈Webpack核心模块tapable解析
Sep 11 Javascript
vue二级菜单导航点击选中事件的方法
Sep 12 Javascript
使用 node.js 模仿 Apache 小部分功能
Jul 07 Javascript
处理canvas绘制图片模糊问题
May 11 Javascript
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
点评山进PR-D3L三波段收音机
2021/03/02 无线电
Yii框架表单模型和验证用法
2016/05/20 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
Prototype使用指南之array.js
2007/01/10 Javascript
动态为事件添加js代码示例
2009/02/15 Javascript
基于jquery实现的文字淡入淡出效果
2013/11/14 Javascript
用javascript删除当前行,添加行(示例代码)
2013/11/25 Javascript
JS Loading功能的简单实现
2013/11/29 Javascript
js动态调用css属性的小规律及实例说明
2013/12/28 Javascript
JavaScript中SetInterval与setTimeout的用法详解
2015/11/10 Javascript
javascript 删除数组元素和清空数组的简单方法
2017/02/24 Javascript
详解使用fetch发送post请求时的参数处理
2017/04/05 Javascript
EasyUI Datebox 日期验证之开始日期小于结束时间
2017/05/19 Javascript
JS给按钮添加跳转功能类似a标签
2017/05/30 Javascript
angular中的cookie读写方法
2017/08/02 Javascript
[js高手之路]原型式继承与寄生式继承详解
2017/08/28 Javascript
解决vue单页使用keep-alive页面返回不刷新的问题
2018/03/13 Javascript
Vue表单及表单绑定方法
2018/09/04 Javascript
小程序如何使用分包加载的实现方法
2019/05/22 Javascript
electron 安装,调试,打包的具体使用
2019/11/06 Javascript
vue 子组件和父组件传值的示例
2020/09/11 Javascript
vant picker+popup 自定义三级联动案例
2020/11/04 Javascript
使用基于Python的Tornado框架的HTTP客户端的教程
2015/04/24 Python
python 处理微信对账单数据的实例代码
2019/07/19 Python
Django怎么在admin后台注册数据库表
2020/11/14 Python
matplotlib之属性组合包(cycler)的使用
2021/02/24 Python
澳大利亚在线家具店:Luxo Living
2019/03/24 全球购物
维德科技C#面试题笔试题
2015/12/09 面试题
应届生服务员求职信
2013/10/31 职场文书
2014年自我评价
2014/01/04 职场文书
人力资源经理的岗位职责
2014/03/02 职场文书
C++程序员求职信范文
2014/04/14 职场文书
青岛导游词
2015/02/12 职场文书
2015年重阳节活动总结
2015/03/24 职场文书
HTML5简单实现添加背景音乐的几种方法
2021/05/12 HTML / CSS
Python爬取英雄联盟MSI直播间弹幕并生成词云图
2021/06/01 Python