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.mzph.cn/news/787863.shtml

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

相关文章

【tensorflow框架神经网络实现鸢尾花分类—优化器】

文章目录 1、前言2、神经网络参数优化器2.1、SGD2.2、SGDM2.3、Adagrad2.4、RMSProp2.5、Adam 3、实验对比不同优化器4、结果对比 1、前言 此前&#xff0c;在【tensorflow框架神经网络实现鸢尾花分类】一文中使用梯度下降算法SGD&#xff0c;对权重 w w w和偏置 b b b进行更新…

如何在Windows上安装SSH

SSH&#xff08;Secure Shell&#xff09;协议是一种强大且安全的网络协议&#xff0c;它为用户提供了一种加密的方式来远程访问和管理终端设备。在Windows操作系统中&#xff0c;安装和配置SSH服务是一个相对直接的过程&#xff0c;可以让你享受到SSH带来的便利和安全性。下面…

软件设计原则:迪米特法则

定义 迪米特法则&#xff08;Law of Demeter, LoD&#xff09;&#xff0c;又称最少知识原则&#xff0c;它指导我们在设计软件时&#xff0c;应当尽量减少对象之间的交互&#xff0c;一个对象应该对其他对象有尽可能少的了解。具体来说&#xff0c;一个对象应该只调用属于以下…

Lua脚本的使用

一、使用lua脚本扣减单个商品的库存 SpringBootTest class LuaTests {AutowiredStringRedisTemplate stringRedisTemplate;Testvoid test3() {for (int i 1; i < 5; i) {stringRedisTemplate.opsForValue().set("product."i,String.valueOf(i));}}Testvoid test…

3.写一个char类型的字符数组,对该数组访问越界时抛出异常,并做处理。

#include <iostream>using namespace std;char arr[10]"12345678"; void show(int i) {if(i>10){throw int(2);}cout << arr[i] <<endl; } int main() {int i;cin >> i;try {show(i);} catch (int) {cout << "越界" <…

【华为OD机试C++】句子逆序

《最新华为OD机试题目带答案解析》:最新华为OD机试题目带答案解析,语言包括C、C++、Python、Java、JavaScript等。订阅专栏,获取专栏内所有文章阅读权限,持续同步更新! 文章目录 描述输入描述输出描述示例1示例2代码描述 将一个英文语句以单词为单位逆序排放。例如“I am …

【Web】记录Polar靶场<困难>难度题一遍过

目录 上传 PHP是世界上最好的语言 非常好绕的命令执行 这又是一个上传 网站被黑 flask_pin veryphp 毒鸡汤 upload tutu Unserialize_Escape 自由的文件上传系统​​​​​​​ ezjava 苦海 你想逃也逃不掉 safe_include CB链 phar PHP_Deserializatio…

Centos7环境下安装MySQL8详细教程

1、下载mysql安装包 2、检查是否安装过mysql ps:因为以前用yum安装过&#xff0c;所以先用yum卸载。如果不是此方式或者没安装过则跳过 [rootlocalhost ~]# yum remove mysql 已加载插件&#xff1a;fastestmirror 参数 mysql 没有匹配 不删除任何软件包 查看是否有mysql依赖 …

6.7物联网RK3399项目开发实录-驱动开发之Camera摄像头的使用(wulianjishu666)

90款行业常用传感器单片机程序及资料【stm32,stc89c52,arduino适用】 链接&#xff1a;https://pan.baidu.com/s/1M3u8lcznKuXfN8NRoLYtTA?pwdc53f Camera 使用 简介 AIO-3399J 开发板分别带有两个 MIPI&#xff0c;MIPI 支持最高 4K 拍照&#xff0c;并支持 1080P 30fp…

Java进阶-反射的详解与应用

本文深入探讨了Java反射机制的核心概念、应用实例及其在现代Java开发中的重要性。文章首先介绍了反射的基本原理和能力&#xff0c;包括在运行时动态获取类信息、操作对象字段和方法的能力。随后&#xff0c;通过具体代码示例&#xff0c;展示了如何利用反射进行字段访问、方法…

逆序对————权值线段树+离散化写法

今天写道这么一道题&#xff0c;鉴于不太熟悉归并和树状数组&#xff0c;还是用线段树水一下&#xff08; 板子如下 #include<iostream> #include<vector> #include<algorithm> using namespace std; const int N5e510; #define int long long #define lc …

java版本学习网站又添加了一个libgdx模块

java版本学习网站之前添加了docker&#xff0c;想了想还是再把libgdx添加进去吧。 访问地址&#xff1a;想飞跃的鱼 (nanshaws.github.io) github地址&#xff1a;nanshaws/JavaLearnNote: The new features from Java 9 to Java 21 help you quickly grasp the key features …

Mysql中的那些索引

主键索引 表的主键使用的就是主键索引&#xff0c;一张表只能有一个主键索引&#xff0c;主键索引不能为null,且不能重复。 主键索引存在于B树的非叶子节点&#xff0c;叶子节点存放的是数据。 非主键索引 非主键索引也叫二级索引&#xff0c;包括有唯一索引&#xff0c;普…

工业项目能耗管理可以看这个开源项目

软件介绍 Scaphandre是一个专注于电力和能源消耗指标的计量代理&#xff0c;旨在为公司和个人提供测量技术服务功耗的便捷工具&#xff0c;并以便于理解的方式获取数据。其名字来源于法语中的潜水服或潜水器&#xff0c;象征着深入测量和揭示技术服务耗能量的意图。 功能特点 …

【攻防世界】file_include (PHP伪协议+过滤器)

打开题目环境&#xff1a; 进行PHP代码审计&#xff0c;发现这是一个文件包含漏洞。 我们尝试利用PHP伪协议中的 php://filter来读取 check.php 中的内容。 构造payload 并提交&#xff1a; 发现payload被过滤掉了&#xff0c;我们就需要尝试使用不同的转换器。 PHP各类转换…

最新AI智能系统ChatGPT网站源码V6.3版本,GPTs、AI绘画、AI换脸、垫图混图+(SparkAi系统搭建部署教程文档)

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧。已支持GPT…

【PySide6】PySide6安装及VSCode配置PySide6环境

文章目录 1、PySide6安装2、VSCode配置PySide6环境2.1、安装插件PYQT Integration2.2、配置插件2.3、视频参考 1、PySide6安装 打开cmd窗口输入下面的命令&#xff0c;耐心等待一会。 pip install pyside6因为我使用的是anaconda虚拟环境安装&#xff0c;pyside6的安装路径如…

macad.interaction解析workspace

1. using Macad.Occt; // 引入Macad.Occt命名空间&#xff0c;提供对OpenCascade CAD内核的访问namespace Macad.Interaction {public sealed class AndSelectionFilter : ISelectionFilter // 定义名为AndSelectionFilter的类&#xff0c;实现了ISelectionFilter接口{readonl…

主流公链 - Fantom

Fantom&#xff1a;高性能的区块链协议 Fantom是一种开创性的区块链协议&#xff0c;旨在革新去中心化应用和数字金融领域 技术特点 共识机制 Lachesis协议&#xff1a;Fantom使用了Lachesis协议作为其共识算法。Lachesis是一种 异步拜占庭容错&#xff08;ABFT&#xff09;共…