热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

前端实现吸顶效果

前端实现吸顶效果1、监听scroll事件,实现吸顶功能2、css实现吸顶写页面经常会遇到这种需求:导航菜单初始位置不在头部,滑动页面时候当


前端实现吸顶效果

    • 1、监听scroll事件,实现吸顶功能
    • 2、css实现吸顶


写页面经常会遇到这种需求:导航菜单初始位置不在头部,滑动页面时候当导航菜单滑到头部位置就固定在头部,往下滑导航菜单又回到初始位置。


网页被卷起来的高度/宽度(即浏览器滚动条滚动后隐藏的页面内容高度)

(Javascript) document.documentElement.scrollTop //firefox(Javascript) document.documentElement.scrollLeft //firefox(Javascript) document.body.scrollTop //IE(Javascript) document.body.scrollLeft //IE(jqurey) $(window).scrollTop() (jqurey) $(window).scrollLeft()

网页工作区域的高度和宽度

(Javascript) document.documentElement.clientHeight// IE firefox (jqurey) $(window).height()

元素距离文档顶端和左边的偏移值

(Javascript) DOM元素对象.offsetTop //IE firefox(Javascript) DOM元素对象.offsetLeft //IE firefox(jqurey) jq对象.offset().top(jqurey) jq对象.offset().left

获取页面元素距离浏览器工作区顶端的距离

页面元素距离浏览器工作区顶端的距离 = 元素距离文档顶端偏移值 - 网页被卷起来的高度

即:

页面元素距离浏览器工作区顶端的距离 = DOM元素对象.offsetTop - document.documentElement.scrollTop

1、监听scroll事件,实现吸顶功能

window.addEventListener("scroll",()=>{let scrollTop = document.documentElement.scrollTop || document.body.scrollTop; let offsetTop = document.querySelector('#searchBar').offsetTop;if (scrollTop > offsetTop) {document.querySelector('#searchBar').style.position="fixed";document.querySelector('#searchBar').style.top="0";} else {document.querySelector('#searchBar').style.position="";document.querySelector('#searchBar').style.top="";}
})

2、css实现吸顶


position: sticky;
top:0



推荐阅读
author-avatar
happy可乐可爱多_376_874
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有