首页
学习
活动
专区
圈层
工具
发布

JS 吸顶导航,告别“回到顶部”

本文主要内容 1、吸顶导航是什么 2、吸顶导航的实现方法 3、小结 1、吸顶条导航是什么 如图: 吸顶导航栏的初始位置一般是靠近在页面的顶部位置,但是又存在一定距离,通常这块区域放置最为醒目或者重要元素的地方...当页面向下滚动时超过了吸顶导航的初始位置时,需要把吸顶导航栏固定在窗口顶部,一般吸顶导航栏还可以替换成文章标题栏,搜索框、tab条等等,例如百度糯米,天猫,淘宝最为常用。...明白了吸顶导航条的基本效果,下面写个简单的demo吧。 2、吸顶导航的实现方法 一、样式结构搭建 考虑到触发吸顶功能,需要为导航条设置触发后的样式。 吸顶式导航” 告别“回到顶部”,如影随行的“吸顶式导航” 告别“回到顶部”,如影随行的“吸顶式导航” ...告别“回到顶部”,如影随行的“吸顶式导航” 告别“回到顶部”,如影随行的“吸顶式导航” 告别“回到顶部”,如影随行的“吸顶式导航”</p

8.9K70

导航栏滚动吸顶并自动高亮和点击跳转锚点

2021-01-16 07:37:33 在阿里云的云市场页面上有一个效果,就是api导航栏当滚动条滚动到其所在位置时,自动吸顶,当滚动到下方所在导航栏指定的介绍时,自动高亮其导航栏。...);//用户标识什么时候导航栏吸顶 const [activeNav,setActiveNav] = useState("");//与标识导航栏高亮 return ...,并且给内容部分增加ref,便于后续获取其内容,导航栏也增加何时吸顶的标识以及导航栏高亮的标识,另外增加了一个class为zhanfIx的地址,因为当导航栏吸顶时,此处会因为空出位置,下面内容上移,而产生不和谐的效果...,我们需要在其吸顶的同时增加一个div来占位,以增加平滑的效果。...下面我们来看一下导航栏吸顶和滑动到指定位置导航栏高亮的逻辑。

11.8K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    页面中元素的吸顶

    [需求] 滚动页面到顶部,实现某元素固定到顶部效果 点击某个按钮,页面滚动到相应的位置 滚动页面,当到达某个位置时,高亮对应的相关按钮 [元素吸顶实现方式] 关于元素吸顶效果,通过查阅相关资料和相关测试...,有三种方式(还有一种是jquery的方法,这里就不介绍了) [一、使用position:sticky] [1....this.isFixed = scrollTop > offsetTop; } } [三、使用getBoundingClientRect().top] 还有一种更为直接的方式,可以实现吸顶效果...,就是使用getBoundingClientRect().top来获取元素相对于视口(浏览器窗口)的位置,相对于offsetTop,该方法不用考虑到吸顶元素的父级元素和页面滚动条的高度,直接对该元素进行处理即可...{ /** * getBoundingClientRect().top 获取某元素距离浏览器顶部的高度,不包含滚动的距离 this.offsetTop 表示的是吸顶元素距离顶部的条件值

    1.7K30

    鸿蒙开发:如何实现列表吸顶

    前言本文基于Api13列表吸顶功能,在实际的开发中有着很大的作用,比如可以让列表层级之间更加分明,减少一定程度上的视觉混乱,由于吸顶的标题会随着滚动固定在顶部,可以让用户无需反复滑动回顶部确认分组位置,...鸿蒙当中实现一个列表吸顶,很是简单,官方为我们提供了ListItemGroup组件,使用它,便可以轻松搞定,我们可以先来看一个简单的案例:interface CityData { name: string...: ListItemGroupOptions): ListItemGroupAttribute;ListItemGroupOptions可选择的属性如下,一般最常用的就是header属性,也就是吸顶时的标题栏组件...sticky(StickyStyle.Header|StickyStyle.Footer)StickyStyle属性介绍如下:名称值说明None0header不吸顶,footer不吸底。...Header1header吸顶,footer不吸底。Footer2footer吸底,header不吸顶。本文标签:HarmonyOS/ArkUI

    28310

    Js如何实现当网页超过一屏时导航菜单始终置顶-吸顶盒效果

    前言 我们平时在逛一些电商网站时,无论是首页还是详情页,通常会有一个导航菜单石红跟随着页面,无论是页面滚动到中间还是底部 这是为了方便用户查看商品的各类信息或提交订单购物 也就是吸顶盒效果,那这个效果是怎么实现的...scrollTop = document.body.scrollTop || document.documentElement.scrollTop; // 当超过150像素时,把顶部的导航菜单设置固定...div class="bd"> 总结 要想实现一个层始终固定在屏幕的顶部或底部,就不得不使用css的positon样式,其次,在来控制网页是不是需要把导航菜单置顶...,因为当网页内容的浏览没有滑出导航菜单的可见范围时,是没有必要把导航菜单置顶的,因此,在代码中就需要监听网页的滚动跳滑动事件 当超过一定的范围以后,才有必要为导航菜单设置固定的position样式 其实也有另外一种解决办法...,就是导航栏始终是固定在顶部,当拉动滚动条时到一定的范围,就改变背景色,也是一种解决办法

    4K50

    基于 Vue 的两层吸顶踩坑总结

    图片.gif 功能点:两层吸顶,因为 Tabs 区域比较长所以在滚动过程中点击一层 Tabs 会回弹至一层吸顶刚吸顶的位置,这个功能点和锚点有些类似。...主要原因:第一层吸顶还符合吸顶条件,第二层吸顶已经开始消失 解决方案:给第一层吸顶元素添加 minHeight 属性,其大小为第一层吸顶元素的高度与第二层吸顶元素的高度的和。...这里有一个需要注意的点在于:一开始第一层吸顶元素的高度并非两者之和,所以这里就需要监听滚动事件,在吸顶元素距离底部的距离为两者高度之和的位置处给第一层吸顶元素添加 minHeight 属性 以下代码块中...false }" 中的 disabled 的值设为 true 即可 ◎ 吸顶“难舍难分” 在 IE 浏览器中,两层吸顶元素始终吸在一起 ?...position 值为 static 即可 ◎ 吸顶“变形” 同样 DOM 结构的吸顶元素,在 IE 浏览器中,吸顶会变形 查看 vue-sticky 的源码,发现 position:fixed; 是设置在要吸顶的元素的第一个子元素上

    1.8K20

    基于 Vue 的两层吸顶踩坑总结

    图片.gif 功能点:两层吸顶,因为 Tabs 区域比较长所以在滚动过程中点击一层 Tabs 会回弹至一层吸顶刚吸顶的位置,这个功能点和锚点有些类似。...主要原因:第一层吸顶还符合吸顶条件,第二层吸顶已经开始消失 解决方案:给第一层吸顶元素添加 minHeight 属性,其大小为第一层吸顶元素的高度与第二层吸顶元素的高度的和。...这里有一个需要注意的点在于:一开始第一层吸顶元素的高度并非两者之和,所以这里就需要监听滚动事件,在吸顶元素距离底部的距离为两者高度之和的位置处给第一层吸顶元素添加 minHeight 属性 以下代码块中...false }" 中的 disabled 的值设为 true 即可 ◎ 吸顶“难舍难分” 在 IE 浏览器中,两层吸顶元素始终吸在一起 ?...position 值为 static 即可 ◎ 吸顶“变形” 同样 DOM 结构的吸顶元素,在 IE 浏览器中,吸顶会变形 查看 vue-sticky 的源码,发现 position:fixed; 是设置在要吸顶的元素的第一个子元素上

    92510

    【前端词典】4 种滚动吸顶实现方式的比较

    我当时很纳闷为何一个滚动吸顶会有 bug,后来我查看代码才发现直接用的是 offsetTop 这个属性,而且并没有做兼容性处理。...后来在项目中总会遇到滚动吸顶的效果需要实现,现在我将我知道的 4 种滚动吸顶实现方式做详细介绍。...我们一定需要使用 scrollTop-offsetTop 的值来实现滚动吸顶的效果吗?答案是否定的。 我们一同看看第四种方案。...遇到的两个问题 一、吸顶的那一刻伴随抖动 出现抖动的原因是因为:在吸顶元素 position 变为 fixed 的时候,该元素就脱离了文档流,下一个元素就进行了补位。就是这个补位操作造成了抖动。...描述: 当页面往下滚动时,吸顶元素需要等页面滚动停止之后才会出现吸顶效果 当页面往上滚动时,滚动到吸顶元素恢复文档流位置时吸顶元素不恢复原样,而等页面停止滚动之后才会恢复原样 原因:在 ios 系统上不能实时监听

    3K60

    鸿蒙开发:实现一个标题栏吸顶

    前言本文基于Api13来了一个需求,要实现顶部下拉刷新,并且顶部的标题栏,下拉状态下跟随手势刷新,上拉状态下进行吸顶,也就是tabs需要固定在顶部标题栏的下面,基本的效果可以看下图,下图是一个Demo,...第一个就是下拉刷新和上拉加载,第二个就是tabs组件进行吸顶,第三个就是手势冲突问题了,这三个问题解决了,那么效果基本上也就能实现了。...this.onRefreshPosition(this.refreshPosition) } return { offsetRemain: offset }; })下拉和上拉的位置确定好之后,那么就是标题栏吸顶操作了...RefreshPositionEnum, WaterFlowView } from '@abner/refresh'/** * AUTHOR:AbnerMing * DATE:2025/5/14 * INTRODUCE:吸顶页面...this.controller, refreshPosition: this.listPosition, //定位位置 isRefreshTopSticky: true, //是否顶部吸顶

    31810
    领券