当前位置: 首页 > article >正文

uni-app+uView如何轮播图滑动时改变背景颜色和导航栏颜色

今儿的创作欲很高涨哈 😄
这也是在群里看到的,群友问如何在滑动(或者自动滑动)的时候背景颜色能跟着变
正好之前做过这个需求,也分享一下

首先,页面的组成分为三部分:
自定义navbar
页面背景
轮播图

大致如下(看重点,不要照抄)

<u-navbar :background="navBackground"></u-navbar>
<view class="header-wrap" :style="{'--bg-color':bgColor}">
	<u-swiper :list="swiperList" @change="changeSwiper"></u-swiper>
</view>

对应的,我们需要初始化一下

data() {
	return {
		navBackground: {backgroundColor: '#fff'},
		bgColor: '#fff',
		swiperList: [
			{
				image: 'xxx',
				bgColor: '#000'
			}
			// 这只是个结构的示意,实际上这里留空也行
		]
	}
}

 css部分

/* 这里我自己需要,所以用了伪类,只看var部分即可 */
.header-warp::after {
	background-color: var(--bg-color); 
}

这样基本上就完成了,
我们来看一下逻辑,
上边实际就是一个自定义的导航u-navbar,一个包裹着轮播图的背景和轮播图自己;
当轮播图change的时候,触发changeSwiper
通过获取到的轮播的index,取出来后端传来的背景色,再分别赋值给导航栏和轮播图的背景

changeSwiper(index) {
	let bgColor = this.swiperList[index]['bgColor'];
	this.bgColor = bgColor;
	this.navBackground = { backgroundColor: bgColor };
}

来看看最终的效果:

在这里插入图片描述

 实际上如果你没用uView,甚至也不是uni-app,只要你是vue开发的
这逻辑都适用,主要就是一个css的传值,解决这个就都好办。


http://www.kler.cn/a/2691.html

相关文章:

  • 【MySQL 保姆级教学】用户管理和数据库权限(16)
  • MySQL insert or update方式性能比较
  • 【网络协议】开放式最短路径优先协议OSPF详解(四)
  • 【linux系统之redis6】redisTemplate的使用方法
  • Docker Compose 启动 Harbor 并指定网络
  • C# 实现 gRPC 进程间通讯:两台设备的数据交换之道
  • Mybatis(二):实现“增删改查”
  • 加载Word2Vec模型时候出现的错误总结
  • 具备人脸识别功能的多目标在线实时行为检测(yolov5+deepsort+slowfast)
  • [数据结构]直接插入排序、希尔排序
  • gns3:动态路由(ospf) area0 骨干网络(域间)(ABR)+ ospf 连接 rip (外部)(ASBR)+ 区域划分
  • tiles-api-2.0.4 升级tiles3.0.8遇到的问题
  • 三十七、实战演练之接口自动化平台的文件上传
  • MyBatisPlus的Wrapper使用示例
  • 在linux上安装配置nodejs工具,设置环境变量,设置npm国内镜像源,提高下载速度。
  • 深度学习应用技巧4-模型融合:投票法、加权平均法、集成模型法
  • cjson文件格式介绍
  • 音视频开发—MediaCodec 解码H264/H265码流视频
  • SpringBoot 结合RabbitMQ与Redis实现商品的并发下单【SpringBoot系列12】
  • Linux下的指令(常用的指令,以及案例展示)
  • QEMU启动ARM32 Linux内核
  • Thread类的基本用法
  • linux信号理解
  • spring5(四):IOC 操作 Bean 管理(基于注解方式)
  • SQL优化13连问,收藏好!
  • Docker常规安装简介