• 技术文章 >web前端 >前端问答

    javascript怎么实现置顶

    藏色散人藏色散人2021-10-25 14:30:58原创62

    javascript实现置顶的方法:1、通过getBoundingClientRect获取元素到浏览器视窗顶部的距离;2、通过“$(document).scrollTop() for(...)”方法实现置顶功能即可。

    本文操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

    JavaScript实现置顶功能

    JavaScript实现置顶功能的方式有很多,之前也用过一些, 感觉比较复杂吧,自己最近做的东西需要,因此也在网上找了些资料,最后找到一个方法 getBoundingClientRect() 可以获取页面元素到浏览器视窗顶部的距离。

    最后代码如下:

    let len = document.getElementById('flexbox').getBoundingClientRect().top;//获取元素到浏览器视窗顶部的距离
    //$(document).scrollTop()为滚动条的高度
            for (let i = $(document).scrollTop(); i < len + $(document).scrollTop(); i++) {
                setTimeout(function () {
                    window.scrollTo(0, i);
                }, 0)
            }

    用循环的目的主要是使得元素置顶的时候不突兀,这个过程可以通过改变i++来实现,同时需要注意一点,如果for语句用的是var i 而不是let i,定时器则需要用立即执行函数包裹来保证i能立马生效。

    用这种方式实现的置顶和锚点效果差不多,如果要实现悬浮置顶(某个部分固定在顶部),则可以考虑用position:fixed来实现。

    就这样吧。。。。

    【推荐学习:javascript基础教程

    以上就是javascript怎么实现置顶的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:javascript
    上一篇:javascript怎么实现反转义 下一篇:JavaScript是什么?有什么功能?
    大前端线上培训班

    相关文章推荐

    • javascript是动态弱语言吗• javascript的核心组成部分有哪些• JavaScript如何获取HTML元素• javascript怎么实现反转义

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网