深入浅析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 相关文章推荐
学习ExtJS(一) 之基础前提
Oct 07 Javascript
JavaScript 字符串与数组转换函数[不用split与join]
Dec 13 Javascript
JavaScript CSS修改学习第六章 拖拽
Feb 19 Javascript
JS+ACTIVEX实现网页选择本地目录路径对话框
Mar 18 Javascript
时间戳转换为时间 年月日时间的JS函数
Aug 19 Javascript
js实现动态改变字体大小代码
Jan 02 Javascript
详解如何使用微信小程序云函数发送短信验证码
Mar 13 Javascript
js使用cookie实现记住用户名功能示例
Jun 13 Javascript
MockJs结合json-server模拟后台数据
Aug 26 Javascript
JavaScript Array对象基本方法详解
Sep 03 Javascript
vue.js实现图书管理功能
Sep 24 Javascript
vue组件库的在线主题编辑器的实现思路
Apr 03 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
收音机另类DIY - 纸巾盒做外壳
2021/03/02 无线电
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
2007/08/26 PHP
Mysql和网页显示乱码解决方法集锦
2008/03/27 PHP
PHP程序级守护进程的实现与优化的使用概述
2013/05/02 PHP
ThinkPHP基本的增删查改操作实例教程
2014/08/22 PHP
smarty简单分页的实现方法
2014/10/27 PHP
既简单又安全的PHP验证码 附调用方法
2016/06/02 PHP
PHP微信红包生成代码分享
2016/10/06 PHP
PHP实现Redis单据锁以及防止并发重复写入
2018/04/10 PHP
ThinkPHP框架下微信支付功能总结踩坑笔记
2019/04/10 PHP
如何让PHP编码更加好看利于阅读
2019/05/12 PHP
CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)
2009/02/14 Javascript
异步安全加载javascript文件的方法
2015/07/21 Javascript
Javascript基于AJAX回调函数传递参数实例分析
2015/12/15 Javascript
AngularJS入门教程中SQL实例详解
2016/07/27 Javascript
JavaScript实现简单的日历效果
2016/09/25 Javascript
jQuery实现搜索页面关键字的功能
2017/02/16 Javascript
react-native动态切换tab组件的方法
2018/07/07 Javascript
Vue toFixed保留两位小数的3种方式
2020/10/23 Javascript
node.js文件的复制、创建文件夹等相关操作
2021/02/05 Javascript
[07:08]2014DOTA2西雅图国际邀请赛 小组赛7月11日TOPPLAY
2014/07/11 DOTA
python opencv 图像尺寸变换方法
2018/04/02 Python
Django自定义用户登录认证示例代码
2019/06/30 Python
TensorFlow 多元函数的极值实例
2020/02/10 Python
python中导入 train_test_split提示错误的解决
2020/06/19 Python
详解CSS3中nth-child与nth-of-type的区别
2017/01/05 HTML / CSS
日本民宿预约平台:STAY JAPAN
2017/07/01 全球购物
美国环保婴儿用品公司:The Honest Company
2017/11/23 全球购物
WINDOWS域的具体实现方式是什么
2014/02/20 面试题
小学生竞选班干部演讲稿
2014/04/24 职场文书
公安派出所所长四风问题个人对照检查材料
2014/10/04 职场文书
2014年煤矿工人工作总结
2014/12/08 职场文书
2015年12.4全国法制宣传日活动总结
2015/03/24 职场文书
团队合作精神学习心得体会
2016/01/19 职场文书
Go语言切片前或中间插入项与内置copy()函数详解
2021/04/27 Golang
《游戏王:大师决斗》新活动上线 若无符合卡组可免费租用
2022/04/13 其他游戏