【Uniapp小程序】自定义导航栏uni-nav-bar滚动渐变色

效果图

新建activityScrollTop.js作为mixins

javascript 复制代码
export default {
  data() {
    return {
      navBgColor: "rgba(0,0,0,0)", // 初始背景颜色为完全透明
      navTextColor: "rgba(0,0,0,1)", // 初始文字颜色
    };
  },
  onPageScroll(e) {
    // 设置背景
    const newAlpha = Math.min((e.scrollTop / 100) * 1, 1);
    this.navBgColor = `rgba(${this.shadeBackground},${newAlpha})`;
    // 设置文字
    const progress = Math.min(e.scrollTop, 255) / 255;
    const [r, g, b] = this.shadeTextColor.split(",").map(Number);
    const newTextRgb = Math.min(e.scrollTop * 5, 255);
    const newRgb = [r, g, b].map((targetValue) => {
      return Math.min(newTextRgb + (targetValue - newTextRgb) * progress, 255);
    });
    this.navTextColor = `rgba(${newRgb.join()},1)`;
  },
};

使用方法

第一步,引入上方js

javascript 复制代码
import activityScrollTop from "../../js/activityScrollTop";
export default {
  mixins: [activityScrollTop],
}

第二步:

关键:backgroundColor和color

javascript 复制代码
<uni-nav-bar
  :leftIcon="图标"
  :border="false"
  @clickLeft="方法名"
  :backgroundColor="navBgColor"
  fixed
  statusBar
  :color="navTextColor"
  title="活动详情"
></uni-nav-bar>

第三步:

data

javascript 复制代码
// 渐变导航背景颜色
shadeBackground: "254,181,89",
// 渐变导航的文字颜色
shadeTextColor: "255,255,255",

看效果即可!

感谢你的阅读,如对你有帮助请收藏+关注!

只分享干货实战精品从不啰嗦!!!

如某处不对请留言评论,欢迎指正~

博主可收徒、常玩QQ飞车,可一起来玩玩鸭~

相关推荐
风早爽太2 小时前
在uni-app中使用lottie-web来展示Lottie动画
uni-app
毕设源码-赖学姐2 小时前
【开题答辩全过程】以 “饭否”食材搭配指南小程序的设计与实现为例,包含答辩的问题和答案
小程序
Autumn_yun2 小时前
uniapp 实现项目多语言切换
uni-app
nodcloud3 小时前
点可云进销存商城如何部署在微信小程序
微信小程序·小程序
懒大王95274 小时前
uni-app + Vue3 + EZUIKit.js 播放视频流
开发语言·javascript·uni-app
懒大王95274 小时前
uni-app + Vue3 开发展示 echarts 图表
前端·uni-app·echarts
百思可瑞教育7 小时前
Vue 生命周期详解:从初始化到销毁的全过程剖析
前端·javascript·vue.js·前端框架·uni-app·北京百思可瑞教育·百思可瑞教育
jingling55510 小时前
uniapp | 快速上手ThorUI组件
前端·笔记·前端框架·uni-app
老华带你飞11 小时前
畅阅读小程序|畅阅读系统|基于java的畅阅读系统小程序设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·小程序·毕设·畅阅读系统小程序
百思可瑞教育16 小时前
uni-app 根据用户不同身份显示不同的tabBar
vue.js·uni-app·北京百思可瑞教育·北京百思教育