深入浅析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实战之仿淘宝商城左侧导航效果
Apr 12 Javascript
json2.js的初步学习与了解
Oct 06 Javascript
用js来刷新当前页面保留参数的具体实现
Dec 23 Javascript
JQuery中使用on方法绑定hover事件实例
Dec 09 Javascript
jQuery插件Zclip实现完美兼容个浏览器点击复制内容到剪贴板
Apr 30 Javascript
JQuery.Ajax()的data参数类型实例详解
Nov 20 Javascript
JavaScript必看小技巧(必看)
Jun 07 Javascript
浅谈$('div a') 与$('div>a')的区别
Jul 18 Javascript
微信小程序  audio音频播放详解及实例
Nov 02 Javascript
jquery实现百叶窗效果
Jan 12 Javascript
JS+Ajax实现百度智能搜索框
Aug 04 Javascript
javascript操作向表格中动态加载数据
Aug 27 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
DOTA2 无惧惊涛骇浪 昆卡大型水友攻略
2020/04/20 DOTA
Win9x/ME下Apache+PHP安装配置
2006/10/09 PHP
无数据库的详细域名查询程序PHP版(3)
2006/10/09 PHP
用header 发送cookie的php代码
2007/03/16 PHP
深入解析php之sphinx
2013/05/15 PHP
PHP与javascript实现变量交互的示例代码
2013/07/23 PHP
php使用正则过滤js脚本代码实例
2014/05/10 PHP
在 Laravel 6 中缓存数据库查询结果的方法
2019/12/11 PHP
FLASH 广告之外的链接
2008/12/16 Javascript
javascript高级程序设计第二版第十二章事件要点总结(常用的跨浏览器检测方法)
2012/08/22 Javascript
form.submit()不能提交表单的错误原因及解决方法
2014/10/13 Javascript
详解JavaScript逻辑And运算符
2015/12/04 Javascript
小巧强大的jquery layer弹窗弹层插件
2015/12/06 Javascript
动态创建按钮的JavaScript代码
2016/01/29 Javascript
使用jQuery实现动态添加小广告
2017/07/11 jQuery
基于vue的换肤功能的示例代码
2017/10/10 Javascript
详解微信小程序开发之formId使用(模板消息)
2019/08/27 Javascript
python单例模式实例分析
2015/04/08 Python
Python的collections模块中namedtuple结构使用示例
2016/07/07 Python
pandas 实现将重复表格去重,并重新转换为表格的方法
2018/04/18 Python
浅谈利用numpy对矩阵进行归一化处理的方法
2018/07/11 Python
tensorflow: variable的值与variable.read_value()的值区别详解
2018/07/30 Python
Django框架首页和登录页分离操作示例
2019/05/28 Python
python 通过可变参数计算n个数的乘积方法
2019/06/13 Python
对于Python深浅拷贝的理解
2019/07/29 Python
redis数据库及与python交互用法简单示例
2019/11/01 Python
Python实现点云投影到平面显示
2020/01/18 Python
HTML5中的进度条progress元素简介及兼容性处理
2016/06/02 HTML / CSS
Nuts.com:优质散装,批发坚果、干果和巧克力等
2017/03/21 全球购物
付款委托书范本
2014/04/04 职场文书
英语教师求职信
2014/06/16 职场文书
2014年餐厅服务员工作总结
2014/11/18 职场文书
协议书范文
2015/01/27 职场文书
小学生红领巾广播稿
2015/08/19 职场文书
MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用详解
2021/06/26 MySQL
Redis命令处理过程源码解析
2022/02/12 Redis