vue里实现点击按钮回到页面顶部功能,博客必备!

效果

scrollToTop

步骤

1-标签结构

动态绑定样式style,监听点击事件,后续控制opacity透明度。和滚动距离

<div class="toTop" :style="dynamicStyles" @click="toTop"><!--<i class="fa fa-arrow-up"></i>--></div>

2-js代码

image-20240711172318473

实例及组件挂载后监听

回调判断滚动高度是否大于视口高度的1/2如果是,则设置动态样式的opacity为1,不是则隐藏为0

点击按钮触发置顶,scrollTo(0,0)滚动到 x y都为0的位置,也就是左上角

 data(){return{dynamicStyles:{opacity:0}}},mounted() {// 当所有组件都挂载好后,监听窗口的滚动事件,触发回调window.addEventListener('scroll',this.handleWindowScroll)},beforeUnmount() {window.removeEventListener('scroll', this.handleWindowScroll);},methods:{handleWindowScroll(){if (window.scrollY>document.documentElement.clientHeight/2){this.dynamicStyles.opacity=1}else{this.dynamicStyles.opacity=0}},toTop(){scrollTo(0,0)}}

3-css样式

* {//滚动行为-流畅scroll-behavior: smooth;
}
.toTop{//透明度变化总时间,变化速度模式为缓动transition: 0.3s ease;position: fixed;bottom: 80px;right: 100px;display: block;background: #ffffff;width: 50px;height: 50px;text-align: center;line-height: 50px;border-radius: 100%;cursor: pointer;
}

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

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

相关文章

Django ORM中的F 对象

F 对象非常强大&#xff0c;可以在查询和更新操作中进行复杂的字段间运算。 假设我们有一个包含商品信息的模型 Product&#xff1a; from django.db import modelsclass Product(models.Model):name models.CharField(max_length100)price models.DecimalField(max_digits…

MySQL向自增列插入0失败问题

问题 在一次上线时&#xff0c;发现通过脚本添加的状态表中&#xff0c;待提交的状态不正确&#xff0c;本来应该是0&#xff0c;线上是101。 原因 默认情况下&#xff0c;MySQL对应自增列&#xff0c;认为0和null等价&#xff08;因为mysql认为0不是最佳实践不推荐使用&…

超简单的通配证书签发工具,免费,无需安装任何插件到本地

常见的acme.sh 或者 lego等工具需要配置&#xff0c;安装不灵活&#xff0c;续签需要配置计划任务&#xff0c;签发单域名证书或者通配证书需要不同的指令和配置&#xff0c;繁琐&#xff0c;如果自己程序想要对接签发证书的api有的不支持&#xff0c;有的用起来繁琐。 最近发…

[手机Linux PostmarketOS]三, Alpine Linux命令使用

Alpine Linux 一些常用的指令&#xff1a; 添加国内源下载链接&#xff1a; 编译以下文件&#xff0c;添加链接进去&#xff1a; sudo vi /etc/apk/repositories##清华源&#xff1a; https://mirror.tuna.tsinghua.edu.cn/alpine/latest-stable/main https://mirror.tuna.tsi…

【VIVADO SDK调试遇到DataAbortHandler】

问题 SDK调试遇到DataAbortHandler问题。 运行后不显示结果&#xff0c;debug模式下发现进入DataAbortHandler异常函数。程序中存在大数组。 原因:SDK默认的堆栈为1024bytes,需要将堆栈调大。 修改方法&#xff1a; 解决:对application中src下的lscript.ld双击&#xff0c;…

android 添加一个水平线

在Android中&#xff0c;添加一个水平线通常可以通过几种方式实现&#xff0c;最常见的是使用View组件或者自定义的Drawable。下面是一个简单的例子&#xff0c;展示如何在布局文件中添加一个水平线&#xff1a; 使用View组件 在你的布局XML文件中&#xff0c;你可以添加一个…

Linux 程序卡死的特殊处理

一、前言 Linux环境。 我们在日常编写的程序中&#xff0c;可能会出现一些细节问题&#xff0c;导致程序卡死&#xff0c;即程序没法正常运行&#xff0c;界面卡住&#xff0c;也不会闪退... 当这种问题出现在客户现场&#xff0c;那就是大问题了。。。 当我们暂时还无法排…

Python如何调用C++

ctypes 有以下优点: Python内建&#xff0c;不需要单独安装Python可以直接调用C/C 动态链接库(.dll 或 .so)在Python一侧&#xff0c;不需要了解 c/c dll 内部的工作方式提供了 C/C 数据类型与Python类型的相互映射&#xff0c;以及转换&#xff0c;包括指针类型。 在使用cty…

如何定量选择孔销基准?-DTAS来帮你!

在当今快速发展的工程领域&#xff0c;公差仿真的作用日渐重要&#xff0c;在公差仿真中&#xff0c;基准体系的选择对于最终结果更是至关重要。基准体系不同可能导致仿真过程中的参数计算、误差分析以及最终的工程设计都有所不同。基准体系作为评估和比较的参照&#xff0c;直…

Suricata引擎二次开发之命中规则定位

二开背景 suricata是一款高性能的开源网络入侵检测防御引擎&#xff0c;旨在检测、预防和应对网络中的恶意活动和攻击。suricata引擎使用多线程技术&#xff0c;能够快速、准确地分析网络流量并识别潜在的安全威胁&#xff0c;是众多IDS和IPS厂商的底层规则检测模块。 前段时间…

强制升级最新系统,微软全面淘汰Win10和部分11用户

说出来可能不信&#xff0c;距离 Windows 11 正式发布已过去整整三年时间&#xff0c;按理说现在怎么也得人均 Win 11 水平了吧&#xff1f; 然而事实却是&#xff0c;三年时间过去 Win 11 占有率仅仅突破到 29%&#xff0c;也就跳起来摸 Win 10 屁股的程度。 2024 年 6 月 Wi…

【Linux】磁盘性能压测-FIO工具

一、FIO工具介绍 fio&#xff08;Flexible I/O Tester&#xff09;是一个用于评估计算机系统中 I/O 性能的强大工具。 官网&#xff1a;fio - fio - Flexible IO Tester 注意事项&#xff01; 1、不要指定文件系统名称&#xff08;如/dev/mapper/centos-root)&#xff0c;避…

react启用mobx @decorators装饰器语法

react如果没有经过配置&#xff0c;直接使用decorators装饰器语法会报错&#xff1a; Support for the experimental syntax ‘decorators’ isn’t currently enabled 因为react默认是不支持装饰器语法&#xff0c;需要做一些配置来启用装饰器语法。 step1: 在 tsconfig.js…

【学术会议征稿】第三届能源互联网及电力系统国际学术会议(ICEIPS 2024)

第三届能源互联网及电力系统国际学术会议&#xff08;ICEIPS 2024&#xff09; 2024 3rd International Conference on Energy Internet and Power Systems 能源互联网是实现新一代电力系统智能互动、开放共享的重要支撑技术之一&#xff0c;也是提升能源调度效率&#xff0…

SQL 存储过程

SQL&#xff08;Structured Query Language&#xff09;的存储过程&#xff08;Stored Procedure&#xff09;是一组为了完成特定功能的SQL语句集&#xff0c;它经编译后存储在数据库中&#xff0c;用户通过指定存储过程的名字并给它传递参数&#xff08;如果有的话&#xff09…

Jetson-AGX-Orin 非docker环境源码编译安装CyberRT

Jetson-AGX-Orin 非docker环境源码编译安装CyberRT 1、安装依赖 sudo apt update sudo apt-get install g gdb gcc cmake sudo apt install libpoco-dev uuid-dev libncurses5-dev python3-dev python3-pip python3 -m pip install protobuf3.14.02、下载CyberRT源码 git cl…

【代码随想录算法训练Day65】卡码网47.参加科学大会、卡码网94. 城市间货物运输 I

Day65 图论第九天 卡码网47.参加科学大会 #include <iostream> #include <vector> #include <list> #include <queue> #include <climits> using namespace std; // 小顶堆 class mycomparison { public:bool operator()(const pair<int, …

Android Studio gradle下载失败?!

Android Studio安装后第一个工程&#xff0c;往往要下载gradle&#xff0c;而gradle的下载有的时候很慢&#xff0c;可以将下载好的gradle-x.x.x-all.zip放到指定目录下&#xff1a; Windows下路径&#xff1a; C:\Users\你的用户名\.gradle\wrapper\dist\gradle-x.x.x-all\**…

python+pygame实现五子棋人机对战之三

上回讲过&#xff1a; pythonpygame实现五子棋人机对战之一 pythonpygame实现五子棋人机对战之二 界面已经有了&#xff0c;并且可以支持鼠标操作选择菜单和人机对战开始下棋了&#xff0c;那电脑是如何应手落子呢&#xff1f;以下内容是通用的类&#xff0c;全部放在utils.…

LiteOS 多线程编程

​ 鸿蒙系统的多线程编程步骤&#xff1a; 1. 描述要创建的线程的属性配置. attr: attributeosThreadAttr_t attr;//声明一个线程属性变量memset(&attr, 0, sizeof(attr));//memset改变一个内存单元上存的值为0//以下三个为必须设置的线程属性attr.name "ledThread&q…