scrollTop()注意点

今天看jQuery的的scrollTop()这个API,发现一直都不是很理解,写了一下在这个过程中对于scrollTop()的理解。

问题:如何使用scrollTop(),以及如何获取和设置滚动的距离。

使用前提:jQuery的scrollTop()和DOM原生的scrollTop比较接近,它的使用前提在于:当一个元素(可以是整个body)的内容超出了元素本身的宽度或者高度,overflow:auto;时出现的滚动条;或者在整个document中,内容本身的高度超过了屏幕的高度出现了滚动条,scrollTop()这个jQuery API就能使用了。如果没有出现滚动条的话,用scrollTop()获取的高度会是0。

一个需要了解的点:在使用scrollTo()这个方法的时候,元素的选择是包含了滚动条的容器,这一点很重要,因为之前一直在这里犯错误。
举例:

<style>
    body{
        height:2000px;
    }
</style>
<script>
    $('body').on('click',function(){
        let $top = $('body').scrollTop()
        console.log($top)
    })
</script>

这一串代码的意思就是说只要点击了body的部分,就会返回当前滚动条距离顶部的距离,这里的距离指的是,当前屏幕body的最上沿到最小方的距离,而且,如果没有滚动条的情况这个值就是0。

请特别注意scrollTop()前面的元素,是容器!!!!

$('button').on('click',function(){
    $('body').scrollTop(0)
})

这就是这个API的另一种用法,是回到顶部的比较粗糙的写法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,680评论 1 92
  • Window和document对象的区别 window对象window对象表示浏览器中打开的窗口window对象是...
    FConfidence阅读 6,696评论 0 5
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,196评论 4 61
  • 满分作文炼成法之一是从人生的体会方面去思考,写人,一定要写出人生体验,人在这个社会上,满分作文最重要的就是要有一种...
    七七丶七月的雨阅读 1,079评论 0 0
  • 很多人们习惯性的学习一门语言就是从学习那门语言的脏话开始的,然而我们学习一门语言的初衷就是为了学会用...
    6f7c23dd26c8阅读 4,274评论 0 0