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

手把手教你如何实现前端的吸顶效果

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

前端实现吸顶效果

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

感谢大家的阅读,希望大家收益多多

本文转自:https://blog.csdn.net/zqyzqy22/article/details/90634702

推荐教程:《JS教程》

以上就是手把手教你如何实现前端的吸顶效果的详细内容,更多请关注 第一PHP社区 其它相关文章!


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