深入浅析JavaScript中的scrollTop

 更新时间:2016年07月11日 10:38:27   作者:九成  
这篇文章主要介绍了深入浅析JavaScript中的scrollTop的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

含义:滚动条高度

作用:滚动加载(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的全部叙述,希望对大家有所帮助,如果大家想了解更多内容,敬请关注脚本之家!

相关文章

  • D3.js 从P元素的创建开始(显示可加载数据)

    D3.js 从P元素的创建开始(显示可加载数据)

    D3是一个基于数据操作的可视化js库,认识d3,就从最基础的显示可加载数据谈起,需要的朋友可以参考下
    2014-10-10
  • JavaScript中ES6字符串扩展方法

    JavaScript中ES6字符串扩展方法

    这篇文章主要介绍了JavaScript中ES6字符串扩展方法的相关资料,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧
    2016-08-08
  • 微信小程序通过点击事件跨页面传参及data-方法传参(data-)的示例详解

    微信小程序通过点击事件跨页面传参及data-方法传参(data-)的示例详解

    在 vue 中,我们可以直接在点击事件中放入传递的参数进行传参;然而微信小程序中并不适用这样的写法,但是微信小程序可以通过自定义属性从而绑定参数使用,这篇文章主要介绍了微信小程序通过点击事件跨页面传参以及data-方法传参(data-),需要的朋友可以参考下
    2023-12-12
  • JavaScript中的类数组对象介绍

    JavaScript中的类数组对象介绍

    这篇文章主要介绍了JavaScript中的类数组对象介绍,一个对象并不是由Array构造函数所创建的,它依然呈现出数组的行为,在这种情况下,这些对象被称为“类数组对象”,需要的朋友可以参考下
    2014-12-12
  • 微信公众平台 客服接口发消息的实现代码(Java接口开发)

    微信公众平台 客服接口发消息的实现代码(Java接口开发)

    这篇文章主要介绍了微信公众平台 客服接口发消息的实现代码(Java接口开发),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • 详解js实现线段交点的三种算法

    详解js实现线段交点的三种算法

    下面小编就最近学会的一些”求线段交点”的算法说一说, 希望对大家有所帮助。“求线段交点”是一种非常基础的几何计算, 在很多游戏中都会被使用到。有需要的可以参考学习
    2016-08-08
  • JS中实现数组开头添加元素

    JS中实现数组开头添加元素

    这篇文章主要介绍了JS中实现数组开头添加元素方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • JavaScript实现单点登录的示例

    JavaScript实现单点登录的示例

    这篇文章主要介绍了JavaScript实现单点登录的示例,帮助大家更好的理解和使用JavaScript,感兴趣的朋友可以了解下
    2020-09-09
  • 由JavaScript中call()方法引发的对面向对象继承机制call的思考

    由JavaScript中call()方法引发的对面向对象继承机制call的思考

    看到这里的call()方法,以前也看过手册,说是对象冒充的,用于继承的。在jQuery源码里有点乱,所以就把这部分提取出来,放在一个单独文件中,来看看具体执行。
    2011-09-09
  • Typescript中使用引用路径别名报错的解决方法

    Typescript中使用引用路径别名报错的解决方法

    本文主要介绍了Typescript中使用引用路径别名报错的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07

最新评论