一个完美的回到顶部按钮

news2025/1/20 18:20:06

大家好,我是 Just,这里是「设计师工作日常」,今天给大家写了一个丝滑回到顶部的按钮,原生js实现的,兼容性所有主流浏览器,可在vue中使用,适用于网页、h5等。

最新实例通过公众号「设计师工作日常」发布。


目录

  • 整体效果
  • 核心代码
    • html 代码
    • css 部分代码
    • js 部分代码
  • 完整代码如下
    • 页面渲染效果

整体效果

场景:
适用于 门户网站个人网站底部区域,当滚动网站内容到一定高度时,显示 “回到顶部” 按钮,然后用户点击按钮后,匀速回滚到网站顶部,提高网站 用户体验

思路:
①获取滚动条滚动高度,根据滚动高度来判断是否显示其按钮;
②当鼠标悬浮或离开按钮上方时,进行文字以及图标的切换显示;
③点击按钮后滚动条匀速滚动到顶部区域。

原生js实现的一个丝滑回到顶部的按钮,兼容性所有主流浏览器,可在vue中使用。


核心代码部分,简要说明了写法思路;完整代码在最后,可直接复制到本地运行。

核心代码

html 代码

<div class="top-btn" type="button" onclick="backTop()">
  <div class="btn-box-cont">
    <div class="svg">
      <svg fill="none" version="1.1" width="32" height="32" viewBox="0 0 32 32"><defs><clipPath id="master_svg0_188_3672"><rect x="0" y="0" width="32" height="32" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_188_3672)"><g><path d="M17.33310625,10.438066093749999L17.33310625,26.66679609375L14.66647625,26.66679609375L14.66647625,10.438066093749999L7.51453625,17.589996093750003L5.62890625,15.70439609375L15.99980625,5.33349609375L26.37070625,15.70439609375L24.48510625,17.589996093750003L17.33310625,10.438066093749999Z" fill="#000000" fill-opacity="1"/></g></g></svg>
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1674033.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Funakoshi — LipiDye Ⅱ脂滴活细胞成像试剂

Funakoshi LipiDye II是一款适用于长时间活细胞成像以观察动态脂滴&#xff08;LDS&#xff09;合成、移动或降解的绿色荧光染料&#xff1b;是LipiDye&#xff08;货号&#xff1a;FDV-0010&#xff09;的升级版&#xff0c;同时具备超强的光稳定性和高灵敏度等特点。 ➧ 产品…

信创改造1---TongLINK/Q安装部署

1. 准备工作 创建用户和组权限 groupadd -g 600 tlq useradd -d /home/tlq -g 600 tlq chown tlq:tlq /home/tlq chmod 755 /home/tlq给自己创建的用户设置密码 passwd tlq根据自己的服务器上传对应的包并解压 2. 上传授权文件 上传license.bat文件到…

如何查看Spring Boot 默认的数据库连接池类型

使用的Spring Boot的版本&#xff1a;2.3.4.RELEASE 先给出答案&#xff1a;com.zaxxer.hikari.HikariDataSource 怎么知道的呢&#xff1f; 新建一个Spring boot项目&#xff1a;springbootTest 配置pom.xml <dependencies><!-- SpringBoot 核心包 --><de…

STM32 CANFD 基础知识留档

讲得比较细的文章但可能有问题自行判定 附1 附2 前言 CAN2.0 协议中数据段波特率和仲裁段波特率默认是一致&#xff0c;因此只需要关注传输波特率即可 CANFD 协议是向下兼容 CAN2.0 的数据通讯&#xff0c;因此实际使用中需要配置 STM32H7 系列支持的标准是 Compliant with …

VC++6.0使用Resource文件来生成必备的支撑文件

目的&#xff1a;&#xff08;1&#xff09;使用exe自己资源文件来创建支撑的dll文件或者配置文件&#xff0c;这样可以在开发绿色软件的时候只需要拷贝一个exe可执行文件就可以独立运行。 &#xff08;2&#xff09;防止误删配套文件导致exe应用无法执行。 &#xff08;3&am…

汇编语言程序设计-2-访问寄存器和内存

2. 访问寄存器和内存 文章目录 2. 访问寄存器和内存2.0 导学2.1 寄存器及数据存储2.2 mov和add指令2.3 确定物理地址的方法2.4 内存的分段表示法2.5 Debug的使用2.6 【代码段】CS、IP与代码段2.7 【代码段】jmp指令2.8 【数据段】内存中字的存储2.9 【数据段】用DS和[address]实…

傻瓜化备份/恢复K8S集群Etcd数据

前言&#xff1a; 备份重要数据&#xff0c;简化重复操作&#xff0c;让一指禅、点点点也能完成运维任务。 脚本呈现界面如下&#xff1a; 1、查看Etcd版本 rootmaster:~# cat /etc/kubernetes/manifests/etcd.yaml | grep image: | awk {print $2} registry.aliyuncs.com/goo…

企业运维背后的故事:TASKCTL带你了解日常工作与技术演进

今天&#xff0c;作为一名经验丰富、从业多年经常与运维人员打交道的人&#xff0c;我想与大家聊聊运维的日常工作、部门协调以及未来发展&#xff0c;希望能为即将转行或正在从事运维工作的你&#xff0c;提供一些新的视角和启发。 运维的日常工作&#xff1a;挑战与乐趣并存 …

【密评】 | 商用密码应用安全性评估从业人员考核题库(11)

字母频率分析法对&#xff08;&#xff09;算法最有效。 A.置换密码 B.单表代换密码 C.多表代换密码 D.序列密码 GM/Z4001《密码术语》中&#xff0c;保证信息不被泄露给非授权的个人、进程等实体的性质称为密码的&#xff08;&#xff09;。 A.真实性 B.完整性 C.机密性 D.不…

LCD和OLED的区别

这里写目录标题 什么是LCD&#xff1f;什么是LED/OLEDLED和OLED的发光原理LCD的缺陷OLED屏幕的优势OLED屏幕的劣势 什么是LCD&#xff1f; LCD 英文全称 Liquid Crystal Display &#xff0c;中文翻译为液晶显示器。LCD 的构造是在两片平行的玻璃基板当中放置液晶盒&#xff0…

Visual Studio Community : The prerelease has expired

最近使用旧版的离线安装包安装社区版Visual Studio2022&#xff08;Visual Studio Community 2022&#xff09;&#xff0c;安装完成后显示&#xff1a;The prerelease has expired。使用自己的微软账号登录还是一样的情况&#xff0c;只能强制退出。经过摸索后发现了一个解决方…

tab 滑动小案例

效果&#xff1a; 代码&#xff1a; <template><view class"content"><view class"tab"><view v-for"(item,index) in dataList" :key"index" class"tab_item" click"slideTab(index)">…

爱普生MCU系列语音芯片S1C31D41

随着科技的发展和产品的集成化&#xff0c;语音芯片已经逐渐替代了多种语音设备应用在各场合。语音芯片主要特性是功耗低&#xff0c;抗干扰能力强&#xff0c;外围器件少&#xff0c;控制简单&#xff0c;语音保存时间久(某些语音芯片可以保存内容100年)&#xff0c;掉电不丢失…

java 解决跨域时遇到问题,怎么来做一个跨域环境

今天遇到一个问题&#xff1a; 关于#java#的问题&#xff1a;java 解决跨域时遇到问题&#xff1a;为什么跨域访问时配置的CorsFilter没有进入&#xff1f;直接访问请求地址时进入了配置的CorsFilter 由于没有实际的跨域环境&#xff0c;因此打算在本机建一个跨域环境&#xff…

钉钉对接打通金蝶云星空获取流程实例(宜搭)接口与付款单新增接口

钉钉对接打通金蝶云星空获取流程实例&#xff08;宜搭&#xff09;接口与付款单新增接口 对接系统钉钉 钉钉&#xff08;DingTalk&#xff09;是阿里巴巴集团专为中国企业打造的免费沟通和协同的多端平台&#xff0c;提供PC版&#xff0c;Web版和手机版&#xff0c;有考勤打卡、…

如何安全高效地进行4S店文件分发,保护核心资产?

4S店与总部之间的文件分发是确保双方沟通顺畅、信息共享和决策支持的重要环节。4S店文件分发涉及到以下文件类型&#xff1a; 销售报告&#xff1a;4S店需要定期向总部提交销售报告&#xff0c;包括销售数量、销售额、市场份额等关键指标。 库存管理文件&#xff1a;包括车辆库…

HTML满屏漂浮爱心

目录 写在前面 满屏爱心 代码分析 系列推荐 写在最后 写在前面 小编给大家准备了满屏漂浮爱心代码&#xff0c;一起来看看吧~ 满屏爱心 文件heart.svg <svg xmlns"http://www.w3.org/2000/svg" width"473.8px" height"408.6px" view…

SpringBoot设置默认文件大小

1、问题发现 有个需求&#xff0c;上传文件的时候&#xff0c;发现提示了这个错误&#xff0c;看了一下意思是说&#xff0c;文件超过了1M。 看我们文件的大小&#xff1a; 发现确实是&#xff0c;文件超出了1M&#xff0c;查了一下资料&#xff0c;tomcat默认上传文件大小为1M…

什么是工具? 从语言模型视角的综述

24年3月CMU和上海交大的论文“What Are Tools Anyway? A Survey from the Language Model Perspective”。 到底什么是工具&#xff1f; 接下来&#xff0c;工具在哪里以及如何帮助语言模型&#xff1f; 在综述中&#xff0c;对语言模型使用的外部程序工具进行了统一定义&…

天机学堂—项目总览和基建

总览 天机学堂是一个基于微服务架构的生产级在线教育项目。 项目亮点 技术架构 环境搭建 为了模拟真实开发环境&#xff0c;我们准备了一台虚拟机&#xff0c;在其中安装了各种各样的公共服务和组件。 Jenkins 是一个开源的持续集成&#xff08;Continuous Integration&…