深入浅析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实现表格动态增加行并对新行添加事件
Jul 30 Javascript
node.js中的require使用详解
Dec 15 Javascript
JavaScript学习笔记之数组的增、删、改、查
Mar 23 Javascript
分享一个原生的JavaScript拖动方法
Sep 25 Javascript
详解Angular.js的$q.defer()服务异步处理
Nov 06 Javascript
将JSON字符串转换成Map对象的方法
Nov 30 Javascript
Vue Cli与BootStrap结合实现表格分页功能
Aug 18 Javascript
vue+webpack模拟后台数据的示例代码
Jul 26 Javascript
angular多语言配置详解
May 16 Javascript
基于webpack4+vue-cli3项目实现换肤功能
Jul 17 Javascript
解决layui表格的表头不滚动的问题
Sep 04 Javascript
Vue 解决通过this.$refs来获取DOM或者组件报错问题
Jul 28 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
PHP中include()与require()的区别说明
2010/03/10 PHP
php实例分享之html转为rtf格式
2014/06/02 PHP
Thinkphp 中 distinct 的用法解析
2016/12/14 PHP
微信推送功能实现方式图文详解
2019/07/12 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
javascript 嵌套的函数(作用域链)
2010/03/15 Javascript
javascript 三种方法实现获得和设置以及移除元素属性
2013/03/20 Javascript
防止xss和sql注入:JS特殊字符过滤正则
2013/04/18 Javascript
jQuery的选择器中的通配符使用介绍
2014/03/20 Javascript
jquery选择器排除某个DOM元素的方法(实例演示)
2014/04/25 Javascript
基于JS实现bookstore静态页面的实例代码
2017/02/22 Javascript
Nodejs中使用captchapng模块生成图片验证码
2017/05/18 NodeJs
[js高手之路]单例模式实现模态框的示例
2017/09/01 Javascript
vue两个组件间值的传递或修改方式
2018/07/04 Javascript
详解浏览器缓存和webpack缓存配置
2018/07/06 Javascript
vue.js input框之间赋值方法
2018/08/24 Javascript
JavaScript栈和队列相关操作与实现方法详解
2018/12/07 Javascript
解决父组件将子组件作为弹窗调用只执行一次created的问题
2020/07/24 Javascript
python逐行读取文件内容的三种方法
2014/01/20 Python
Python中字典的基本知识初步介绍
2015/05/21 Python
Python基于sftp及rsa密匙实现远程拷贝文件的方法
2016/09/21 Python
python中使用正则表达式的连接符示例代码
2017/10/10 Python
深入理解Django自定义信号(signals)
2018/10/15 Python
Python Web框架之Django框架文件上传功能详解
2019/08/16 Python
Python进程间通信 multiProcessing Queue队列实现详解
2019/09/23 Python
python 模块导入问题汇总
2021/02/01 Python
HTML5单页面手势滑屏切换原理
2016/03/21 HTML / CSS
如何利用input事件来监听移动端的输入
2016/04/15 HTML / CSS
美国台面电器和厨具品牌:KitchenAid
2019/04/12 全球购物
中专生职业生涯规划书范文
2014/01/10 职场文书
试用期转正鉴定评语
2014/01/27 职场文书
毕业生工作求职信
2014/06/30 职场文书
给校长的一封检讨书
2014/09/20 职场文书
人事局接收函
2015/01/30 职场文书
2016大学生优秀志愿者事迹材料
2016/02/25 职场文书
Nginx利用Logrotate实现日志分割
2022/05/20 Servers