【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飞车,可一起来玩玩鸭~

相关推荐
以对_12 分钟前
uview表单校验不生效问题
前端·uni-app
迷雾yx13 分钟前
开发微信小程序 基础02
微信小程序·小程序
迷雾yx15 分钟前
开发微信小程序 基础03
微信小程序·小程序
说私域1 小时前
地理定位营销与开源AI智能名片O2O商城小程序的融合与发展
人工智能·小程序
小雨cc5566ru11 小时前
uniapp+Android面向网络学习的时间管理工具软件 微信小程序
android·微信小程序·uni-app
二十雨辰17 小时前
[uni-app]小兔鲜-04推荐+分类+详情
前端·javascript·uni-app
小雨cc5566ru20 小时前
hbuilderx+uniapp+Android健身房管理系统 微信小程序z488g
android·微信小程序·uni-app
敲啊敲952720 小时前
uni-app之旅-day02-分类页面
前端·javascript·uni-app
技术闲聊DD21 小时前
小程序原生-利用setData()对不同类型的数据进行增删改
小程序
二十雨辰21 小时前
[uni-app]小兔鲜-06地址+sku+购物车
前端·javascript·vue.js·uni-app