vue navbar tabbar导航条根据位置移动实现定位、颜色过渡动画效果的代码
作者:船长在船上 发布时间:2024-05-13 09:38:51
标签:vue,navbar,tabbar导航条
vant文档:Vant 2 - Mobile UI Components built on Vue
实现效果:
代码实现:
1.navbar、tabbar顶部导航过渡效果、颜色过渡;
<div class="mallHead">
<van-nav-bar :title="titleName" fixed @click-left="onClickLeft" :style="style" safe-area-inset-top>
<template #left>
<van-icon name="arrow-left" size="22px" color="#024EE0" />
</template>
</van-nav-bar>
<div class="top"></div>
</div>
<div :class="indexTop>220?'menuActive':'dropdown-menu'" >
<van-dropdown-menu>
<van-dropdown-item v-model="amountValue" :options="amountOption" />
<van-dropdown-item v-model="integralValue" :options="integralOption" />
<van-dropdown-item v-model="goodsValue" :options="goodsOption" />
</van-dropdown-menu>
</div>
css样式
.mallHead ::v-deep.van-nav-bar{
??background: none;
??.van-icon-arrow-left{
????color:#fff !important;
??}
??.van-nav-bar__title{
????color:#fff;
??}
}
.mallHead ::v-deep.van-nav-bar::after{
??border: 0;
}
.menuActive{
??box-shadow: none;
??background:#fff;
??width: 100%;
??position: fixed;
??top: 92px;
??left: 0;
??z-index: 1;
}
2.定义data
data(){
return {
style:null,
indexTop:0,// 滚动条高度
amountValue:0,
amountOption:[
{ text: '兑换量从高到底', value: 0 },
{ text: '积分从低到高', value: 1 },
{ text: '积分从高到低', value: 2 },
],
.......
}
}
3.methods方法定义
mounted(){
window.addEventListener('scroll', this.handleScroll,true);
},
destroyed() {
window.removeEventListener('scroll', this.handleScroll);
},
定义handleScroll方法
Math.abs(Math.round(this.indexTop)) / 100; 自行定义
handleScroll(){
this.indexTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop; // 计算出移动位置
const opacity = Math.abs(Math.round(this.indexTop)) / 100; // 根据位置移动动态设置背景透明度
this.style = { background: `rgba(253,85,39,${opacity})`};
}
来源:https://blog.csdn.net/SmartJunTao/article/details/126417823


猜你喜欢
- 目录plsql141. 安装注册使用 1.激活了会提示激活成功plsql developer14是由Allround Automa
- 底层报错 error:cannot assign requested address原因 并发场景下 client 频繁请求端口建立tcp连
- 1)在service层和mapper层中写一个插入方法和查询方法;我们先写一个日志类;定义属性;并且要在数据库中建好表;package en
- 本文给出一条 SQL 语句用于展示在同一名服务器上,不同的数据库间查询,注意当前连接用户要对两个库都有权限SQL Server 中 SQL
- 其实很简单,一般的数组去重可以直接用 new Set() 方法即可,但是数组对象的话,比较复杂,不能直接用,我们可以采取间接的方法来去重un
- 前言主要介绍OpenCV中的分水岭算法、图像金字塔对图像进行分割的方法。一、使用分水岭算法分割图像分水岭算法的基本原理为:将任意的灰度图像视
- 一、简介说明:索引是数据库对象之一,用于加快数据的检索,类似于书籍的索引。在数据库中索引可以减少数据库程序查询结果时需要读取的数据量,类似于
- 元字符(Meta Characters)是正则表达式中具有特殊意义的专用字符,在Python中也不例外,是用来指明前导字符(位于元字符前的字
- 有如下 borg pattern 的实现:class Borg(object): __shared_state = {}def
- 本文实例讲述了Python SVM(支持向量机)实现方法。分享给大家供大家参考,具体如下:运行环境Pyhton3numpy(科学计算包)ma
- print() 方法用于打印当前窗口的内容,支持部分或者整个网页打印。调用 print() 方法所引发的行为就像用户单击浏览器的打印按钮。通
- 一. torch.squeeze()函数解析1. 官网链接torch.squeeze(),如下图所示:2. torch.squeeze()函
- 成功解决NLTK包的安装错误创建环境NLP_Pre_trainl环境conda create -n NLP_Pre_train python
- 代码如下import pandas as pdimport matplotlib.pyplot as pltimport numpy as
- 本文实例讲述了Python实现监控程序执行时间并将其写入日志的方法。分享给大家供大家参考。具体实现方法如下:# /usr/bin/pytho
- 导语:除夕除夕,就是除去烦脑,迎接新的希望!在这里小编先祝大家除夕快乐,岁岁常欢笑,事事皆如意!正文:创建画布setup和draw是p5.j
- 写程序必然需要版本控制,哪怕是个人项目也是必须的,VS2015开始默认提供了对Git的支持。考虑到现在Git很火,作为微软系的程序员也不得不
- YEAR() 函数返回一个整数值,它表示指定日期的年份,一般使用为:Year(时间),如:YEAR('2023-03-14
- 一、MySQL的下载 1.登陆MySQL的官网下载适用于64位系统的ZIP压缩包(https://dev.mysql.com/do
- 什么是组播点对点连接可以处理很多通信需求,不过随着直接连接数的增加,在多对通信方之间传递相同的消息会变得越来越困难。单独地向各个接收方发送消