vue3鼠标向下滑动,导航条改变背景颜色和logo的封装

代码中使用了element-plus组件,需先安装

向下滑动前

向下滑动后(改变了logo   字体    背景颜色)

<script lang="ts" setup>
import router from '@/router';
import { ArrowDown } from '@element-plus/icons-vue'
import { ref, onMounted, onUnmounted } from 'vue';const handleCommand = (command: string | number | object) => {// 进行路由跳转router.push('/helpCenter')
}// 判断滚动条的距离// 创建一个响应式的 ref 来存储视口距离顶部的距离  
const scrollTopDistance = ref(0);
let topDistance = ref(true)
// let topDistance = ref(false)// 监听滚动事件来更新视口距离顶部的距离  
const updateScrollDistance = () => {scrollTopDistance.value = window.scrollY || document.documentElement.scrollTop || document.body.scrollTop;// console.log(scrollTopDistance.value);if(scrollTopDistance.value == 0){topDistance.value = false}else{topDistance.value = true}};// 在组件挂载时添加滚动事件监听器  
onMounted(() => {window.addEventListener('scroll', updateScrollDistance);// 初始化时也获取一次距离  updateScrollDistance();});// 在组件卸载时移除滚动事件监听器  
onUnmounted(() => {window.removeEventListener('scroll', updateScrollDistance);
});</script><template><div class="nav" :class="{'bgcLight':topDistance}"><div class="left"><img @click="router.push('/videoProducing')" v-if="topDistance == false" src="../../assets/img/whiteLogo.png" alt=""><img @click="router.push('/videoProducing')" v-if="topDistance == true" src="../../assets/img/darkLogo.png" alt=""><ul><li @click="router.push('/videoProducing')">视频制作</li><li @click="router.push('broadcastCenter')">直播中心</li><li><el-dropdown @command="handleCommand"><span class="el-dropdown-link">帮助中心<el-icon class="el-icon--right"><arrow-down /></el-icon></span><template #dropdown><el-dropdown-menu><el-dropdown-item>直播客户端下载</el-dropdown-item></el-dropdown-menu></template></el-dropdown></li></ul></div><div class="right">登录 / 注册</div></div></template><style lang="less" scoped>.nav {width: 100%;min-width: 800px;height: 70px;display: flex;justify-content: space-between;align-items: center;background-color: #040D1E;padding: 0 40px;color: white;box-sizing: border-box;.left {display: flex;align-items: center;img {height: 50px;&:hover{cursor: pointer;}}ul {display: flex;margin-left: 50px;li {list-style: none;padding: 0 10px;&:hover {color: #006eff;cursor: pointer;}.el-dropdown {// background-color: red;.el-dropdown-link {color: white;font-size: 16px;// 除去element原有样式outline: none;&:hover {color: #006eff;}}}}}}.right {width: 112px;height: 40px;line-height: 40px;background-color: #006EFF;text-align: center;font-size: 14px;border-radius: 20px;color: white;&:hover{cursor: pointer;}}
}// 根据鼠标滑动判断是否存在属性
.bgcLight{background-color: white;color: black;position: fixed;box-shadow: 0 4px 8px #d6dff580!important;;
}.bgcLight .el-dropdown-link{color: black !important;
}
</style>

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

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

相关文章

VScode debug python(服务器)

方法一&#xff1a; 创建launch.json文件&#xff1a; launch.json文件地址&#xff1a; launch.json文件内容&#xff1a; {"version": "0.2.0", //指定了配置文件的版本"configurations": [{"name": "Python: Current File&…

基于kmeans的聚类微博舆情分析系统

第一章绪论 1.1研究背景 如今在我们的生活与生产的每个角落都可以见到数据与信息的身影。自从上十世纪八十年代的中后期开始&#xff0c;我们使用的互联网技术已经开始快速发展&#xff0c;近些年来云计算、大数据和物联网等与互联网有相领域的发展让互联网技术达到了史无前例…

159 Linux C++ 通讯架构实战14,epoll 函数代码实战

ngx_epoll_init函数的调用 //&#xff08;3.2&#xff09;ngx_epoll_init函数的调用&#xff08;要在子进程中执行&#xff09; //四章&#xff0c;四节 project1.cpp&#xff1a;nginx中创建worker子进程&#xff1b; //nginx中创建worker子进程 //官方nginx ,一个…

免费图片转excel方案大全

随着信息技术的发展&#xff0c;我们经常会遇到需要将图片中的数据转换成Excel表格的情况。这种需求在数据分析、报表制作、信息整理等领域尤为常见。然而&#xff0c;许多人在面对这一任务时感到困惑&#xff0c;不知道如何进行。本文将为大家介绍几种免费的图片转Excel方案&a…

分享高质量嵌入式软件的开发技巧

大家好&#xff0c;今天给大家介绍分享高质量嵌入式软件的开发技巧&#xff0c;文章末尾附有分享大家一个资料包&#xff0c;差不多150多G。里面学习内容、面经、项目都比较新也比较全&#xff01;可进群免费领取。 高质量嵌入式软件的开发技巧涉及多个方面&#xff0c;从设计、…

Mybatis——一对一映射

一对一映射 预置条件 在某网络购物系统中&#xff0c;一个用户只能拥有一个购物车&#xff0c;用户与购物车的关系可以设计为一对一关系 数据库表结构&#xff08;唯一外键关联&#xff09; 创建两个实体类和映射接口 package org.example.demo;import lombok.Data;import …

Linux(05) Debian 系统修改主机名

查看主机名 方法1&#xff1a;hostname hostname 方法2&#xff1a;cat etc/hostname cat /etc/hostname 如果在创建Linux系统的时候忘记修改主机名&#xff0c;可以采用以下的方式来修改主机名称。 修改主机名 注意&#xff0c;在linux中下划线“_”可能是无效的字符&…

IDEA中连接SQLserver数据库(DataGrip相同连接)

IDEA中连接SQLserver数据库(DataGrip相同连接) 1. 打开IDEA-database组件 2. 新建SQL server连接 3. 填写信息进行连接 填写连接名称&#xff0c;连接主机IP&#xff0c;端口&#xff0c;默认端口1433&#xff0c;数据库用户名密码&#xff0c;默认数据库用户名是sa 第一次连接…

elment UI el-date-picker 月份组件选定后提交后台页面显示正常,提交后台字段变成时区格式

需求&#xff1a;要实现一个日期的月份选择<el-date-picker :typeformData.dateType :value-formatdateFormat v-modelformData.leaveFactoryDateplaceholder选择月份></el-date-picker>错误示例&#xff1a;将日期显示类型(type)dateType或将日期绑定值的格式(val…

Android Studio学习8——点击事件

在xml代码中绑定 在java代码中绑定 弹出一个toast 随机&#xff0c;数组

算法打卡day32|贪心算法篇06|Leetcode 738.单调递增的数字、968.监控二叉树

算法题 Leetcode 738.单调递增的数字 题目链接:738.单调递增的数字 大佬视频讲解&#xff1a;单调递增的数字视频讲解 个人思路 这个题目就是从例子中找规律&#xff0c;例如 332&#xff0c;从后往前遍历&#xff0c;32不是单调递增将2变为9,3减1&#xff0c;变成了329&…

面试题:MySQL 事务 日志 MVCC

事务的特性 ACID 事务的隔离级别 并发事务问题 脏读&#xff1a;一个事务读到另一个事务还没有提交的数据不可重复读&#xff1a;一个事务先后读取同一条记录&#xff0c;但两次读取的数据不同幻读&#xff1a;一个事务按照条件查询数据时&#xff0c;没有对应的数据行&#xf…