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

点击按钮,回到页面顶部的5种写法

如果没有提供该参数,默认为true,使用该方法的原理与使用锚点的原理类似,在页面最上方设置目标元素,当页面滚动时,目标元素被滚动到页面区域以外,点击回到顶部按钮,使目标元素重新回到原来位置,则达到预期效果...} 8 9 增强 下面对回到顶部的功能进行增强 【1】显示增强 使用CSS画图,将“回到顶部”变成可视化的图形(如果兼容IE8-浏览器,...则用图片代替) 使用CSS伪元素及伪类hover效果,当鼠标移动到该元素上时,显示回到顶部的文字,移出时不显示   .box{ position:fixed; right:10px...id=“box” class=“box”> div class=“box-in”>div> div> 【2】动画增强 为回到顶部增加动画效果,滚动条以一定的速度回滚到顶部...); } }); } 3、增加scrollBy()动画效果 将scrollBy(x,y)中的y参数设置为-50,直到scrollTop为0,则回滚停止 <script

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

    基于JS实现回到页面顶部的五种写法(从实现到增强)

    写法 【1】锚点   使用锚点链接是一种简单的返回顶部的功能实现。...元素未滚动时,scrollTop的值为0,如果元素被垂直滚动了,scrollTop的值大于0,且表示元素上方不可见内容的像素宽度   由于scrollTop是可写的,可以利用scrollTop来实现回到顶部的功能...如果没有提供该参数,默认为true   使用该方法的原理与使用锚点的原理类似,在页面最上方设置目标元素,当页面滚动时,目标元素被滚动到页面区域以外,点击回到顶部按钮,使目标元素重新回到原来位置,则达到预期效果...,则用图片代替)   使用CSS伪元素及伪类hover效果,当鼠标移动到该元素上时,显示回到顶部的文字,移出时不显示   .box{ position:fixed; right...id="box" class="box"> div class="box-in">div> div> 2】动画增强   为回到顶部增加动画效果,滚动条以一定的速度回滚到顶部

    6.8K21

    rAF实现表格内容自动滚动

    这个时候可能会想:直接使用overflow: auto;不就能实现表格滚动了吗?但是,这个表格滚动效果并不是想要的表格内容滚动。表头也会滚不见。...方便停止的时候使用。...} 图片 到底后会自动回到顶部,继续滚动 这里我们需要判断是否到底了,所以需要使用可视高度+距离顶部 >= 整个高度的方式,即el.clientHeight + el.scrollTop >= el.scrollHeight...我们判断到底后,就使用原生js的scrollTo方法,就能让它回到顶部。...也就是说,scrollTo方法的参数添加 behavior: "smooth"来让它圆滑的回滚到顶部。 但是,我们添加了这个选项后,反而不回滚了。这是因为动画一直都还在,回滚速度又不够动画的。

    2.4K20

    Scroll,你玩明白了嘛?

    3、JS 滚动方法 3.1 基本方法 我们熟知的原生 scroll 方法,大概有这些: scrollTo:滚动到目标位置 scrollBy:相对当前位置滚动 scrollIntoView:让元素滚动到视野内...>  ); } 上述代码中,提到了四种方式: 容器的 scrollTop 赋值 容器的 scrollTo 方法,传入横纵滚动位置 容器的 scrollTo 方法,传入滚动配置 元素的 scrollIntoView...这里引用 stackoverflow 上的一个高赞解答,可以帮助你更好的理解。 使用 {block: "start"},元素在其祖先的顶部对齐。...使用 {block: "nearest"}: 如果您当前位于其祖先的下方,则元素在其祖先的顶部对齐。 如果您当前位于其祖先之上,则元素在其祖先的底部对齐。 如果它已经在视图中,保持原样。...4、如何区分人为滚动和脚本滚动 4.1 背景 最近遇到这么一个需求,做一个实时高亮当前播放内容的字幕文稿。

    3.5K22

    Web前端实现锚点功能的三种方式

    默认为 "start",元素顶部将滚动到视窗顶部; 取值 "end",元素底部将和视窗底部对齐; 取值 "center",元素中线将和视窗中间对齐; 取值 "nearest",元素将就近对齐。...即,若页面向上滚动,则顶部对齐;若页面向下滚动,则底部对齐。 inline,定义水平方向的对齐, "start", "center", "end", 或 "nearest"之一。...含义同 block 选项的取值。 三、scrollTo/scrollBy window.scrollTo 可将视窗滚动到指定的坐标。...用法如: window.scrollTo(xpos, ypos); window.scrollBy 可将视窗向上下或左右移动指定坐标的距离。...以 HTML 根节点为滚动容器为例: div id="root">div> 当需要跳转时可调用 const {scrollTop: domScrollTop, scrollLeft: domScrollLeft

    4.1K31

    返回顶部的五种实现方法

    大家好,又见面了,我是你们的朋友全栈君。 【1】使用默认链接锚点 添加一个a链接,设置a链接的href属性值为”#top”即可实现 div>我在顶部div> div>返回顶部div> 【3】使用自定义链接锚点 在页面顶部定义一个锚点,然后将返回顶部a链接的href属性指向该锚点 div>返回顶部div> 【4】使用简单的JavaScript脚本 设置scrollTo(x,y)中的x和y的坐标值来滚动到页面的具体位置...-- 很多内容 --> div>scrollTo(0,0)">返回顶部div> 【5】使用简单的jQuery实现 1 div class...此方法能使页面动态滚动,同时将按钮换成一个箭头标志,判断页面滚动的距离,当页面滚动到一定的距离后再显示返回顶部箭头标志。这样的效果更佳生动。

    5.6K20

    纯滚动怎么理解_scrollview不滚动

    元素未滚动时,scrollLeft的值为0,如果元素被水平滚动了,scrollLeft的值大于0,且表示元素左侧不可见内容的像素宽度   当滚动条滚动到内容底部时,符合以下等式 scrollHeight...= document.documentElement.scrollTop || document.body.scrollTop 回到顶部   可以利用scrollTop来实现回到顶部的功能 function...; } 滚动方法 scrollTo(x,y)   scrollTo(x,y)方法滚动当前window中显示的文档,让文档中由坐标x和y指定的点位于显示区域的左上角 的顶部与当前区域的可见部分的顶部对齐(前提是当前区域可滚动);如果为false,表示元素的底部与当前区域的可见部分的尾部对齐(前提是当前区域可滚动)。...,才滚动浏览器窗口或容器元素,最终让它可见。

    2.5K20

    JS滑动滚动的n种方式

    1.3 浏览器的支持度 1.4 示例与推荐使用场景 原始位置图 我们定位如图红框的元素,从顶部开始示例 1.4.1 scrollIntoVIew() 页面滑动至父级容器,但是子项并没有被滑动到可视区域...一个元素的 scrollTop 值是这个元素的内容顶部(卷起来的)到它的视口可见内容(的顶部)的距离的度量。当一个元素的内容没有产生垂直方向的滚动条,那么它的 scrollTop 值为0。...scrollTop设置滑动条 2.4 使用示例 原位置 elementList[0].scrollTop=100 可以看到明显的,符合预期的scrollview区域滑动 3 window.scrollTo...区别是设置behavior为'smooth'后会平滑滚动 3.2 使用说明 如果场景要求我们滚动页面到某个元素的位置,此时可以使用window.scrollTo(); 如果场景要求我们滚动到某个可滚动父元素的位置...常见误解:element.scrollTo并不是将某个元素滚动到页面某个位置,而是如果该元素可滚动,设置该元素的滚动条 4 window.scrollBy或element.scrollBy 4.1 基本用法

    7.5K10

    vue上拉加载更多组件

    大部分使用场景是相对窗口,所以暂时只写了一个相对于window的。 上拉加载原理简单来说就是判断内容是否到达底部。容器自身的高度加上距离顶部的距离就是现在整个页面的高度。...标签: div id="scroll"> div> 这边使用了vue的slot插槽。...最后beforeDestroy: window.scrollTo(0, 0); window.removeEventListener('scroll', this.onScroll) 刷新当前页面或者离开页面的时候移动到最顶部...,防止记住滚动条位置,亲测,要是没有设置history.scrollRestoration,vue生命周期会先移动到顶部然后再移动到记住的位置。...其实设置了这个移动到顶部也不需要,这边为了稳定就加上了。还有就是要移除监听滚动,我试了,跟定时间计时器一样,没有在组件销毁的时候移除,会一直存在。

    2.4K10

    页面中元素的锚点定位

    这是我参与「掘金日新计划 · 8 月更文挑战」的第12天,点击查看活动详情 >> [锚点定位] 点击相应的按钮,页面滚动到相应的位置,目前我知道实现该功能的方式有两种: 使用a标签定位 使用js模拟锚点定位...view2">视图2div> 这种定位方式很简单,支持任意标签的定位,但是a标签的定位会改变路由的hash,如果有相关路由会进行路由跳转 [使用js模拟锚点定位] 通过js获取元素的scrollTop...$refs[this.activeName]); let scrollTop = offsetTop - this.fixedHeight; window.scrollTo({...top: scrollTop }); } 不得不提的一个方法就是scrollIntoView,Element.scrollIntoView() 方法让当前的元素滚动到浏览器窗口的可视区域内,同时还支持动态效果...,但是不支持配置滚动到距离顶部的距离,会出现遮罩现象,但是很适合做会到顶部的功能 [性能优化] 页面中读取属性会导致页面reflow(下次会对导致页面reflow和repaint 的操作做一个总结),过度的

    2.4K70

    前端 实战项目·优雅实现 BackTop

    优雅实现 BackTop BackTop 即滚动到页面顶部,是很多网站都会用到的基础功能,实现方法很多,Github 上也有许多优秀的三方库,如 smooth-scroll,但如何优雅实现也是一门学问...事件绑定和解绑 滚动到页面顶部的按钮一般位于页面角落,并且只有在需要的时候才显示出来。所以首先需要监听页面滚动事件,直到滚动到一定距离后显示 BackTop 按钮。...该方法使用一个回调函数作为参数,这个回调函数会在浏览器重绘之前调用。回调的次数通常是每秒 60 次。由于兼容问题,在不同浏览器需要带上前缀,并且在浏览器不支持时使用 setTimeout 模拟。...使用 requestAnimationFrame 来实现滚动到页面顶部的动画,核心是按帧来滚动小段距离来实现平滑滚动的效果,代码如下: // scrollTop animation export function...end : start - step } if (el === window) { window.scrollTo(d, d) } else { el.scrollTop

    66140

    vue中页面跳转滚动条置顶(总结)

    1.vue单个页面跳转时: 在此页面上mounted方法中设置滚动条的方法 1 2 3 4 mounted() {            // 切换页面时滚动条自动滚动到顶部        window.scrollTo...20 router.afterEach((to,from,next) => {   window.scrollTo(0,0);   // chrome     document.body.scrollTop... = 0 }); //或 router.beforeEach((to, from, next) => {         // chrome     document.body.scrollTop... = 0     next() }) 3.全部页面,使用路由vue-router自带的滚动条行为解决(router中的index.js文件中) 1 2 3 4 5 6 7 8 //页面跳转显示在顶部...vue-router路由方法是无效的,在layout布局的router-view层使用update设置 1 2 3 4 updated(){     let dom = document.getElementsByClassName

    2.7K20

    大家都能看得懂的源码之 ahooks useVirtualList 封装虚拟滚动列表

    根据外部容器的 scrollTop 算出已经“滚过”多少项,值为 offset。 根据外部容器高度以及当前的开始索引,获取到外部容器能承载的个数 visibleCount。...设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 scrollTop, // 内容可视区域的高度 clientHeight, } = container...; // 根据外部容器的 scrollTop 算出已经“滚过”多少项 const offset = getOffset(scrollTop); // 可视区域的 DOM 个数...index 的函数,其主要是计算出该 index 距离顶部的高度 scrollTop,设置给外部容器。...// 滚动到指定的 index const scrollTo = (index: number) => { const container = getTargetElement(containerTarget

    94020
    领券