微信小程序练习:自动随机变化的颜色
一、案例描述在页面上展示一首诗包括诗的标题、作者、正文并用样式让诗的显示更美观同时在页面上放一个按钮。需要实现的效果小程序启动后每隔几秒钟自动改变一次每行诗的颜色每次改变时每行诗的颜色是随机生成的可能相同也可能不同点击「改变颜色」按钮每行诗的颜色也会立即变化在控制台打印出每行诗的颜色。二、实现效果界面一开始显示一种不同颜色的诗每隔5 秒每行诗的颜色随机变化点击「改变颜色」按钮每行诗的颜色也会发生变化控制台每次打印出一个数组数组中有 4 个元素每个元素代表一行诗的颜色。效果预览模拟器中《望庐山瀑布》日照香炉生紫烟 颜色随机 遥看瀑布挂前川。 颜色随机 飞流直下三千尺 颜色随机 疑是银河落九天。 颜色随机 [ 改变颜色 ]控制台输出示例每次刷新都会不一样(4) [#8D2781, #D1D5F7, #06CE4E, #9929EA] (4) [#954275, #39918A, #98BFC3, #50CF46] (4) [#11A551, #E1E5D6, #3082CD, #EC1987]三、代码实现1. 新建项目新建一个不使用云服务、不使用模板的小程序项目。2. 修改app.json文件使用webview渲染引擎重点renderer: webview{ pages: [ pages/index/index ], window: { navigationBarTextStyle: black, navigationStyle: custom }, style: v2, renderer: webview, componentFramework: glass-easel, sitemapLocation: sitemap.json, lazyCodeLoading: requiredComponents }3. 修改index.wxml文件代码最外层view内部嵌套三个view组件和一个按钮组件第 3 个view组件.flex-wrap又嵌套了 4 个view组件每个view组件用来显示不同颜色的文本内容!--index.wxml-- navigation-bar title自动随机变化的颜色 back{{false}} colorblack background#FFF/navigation-bar scroll-view classscrollarea scroll-y typelist view classbox view classtitle望庐山瀑布/view view classsubtitle李白/view view classflex-wrap view stylecolor:{{colors[0]}}日照香炉生紫烟/view view stylecolor:{{colors[1]}}遥看瀑布挂前川。/view view stylecolor:{{colors[2]}}飞流直下三千尺/view view stylecolor:{{colors[3]}}疑是银河落九天。/view /view button typeprimary bind:tapchangeColor改变颜色/button /view /scroll-view说明每行诗通过stylecolor:{{colors[0]}}动态绑定colors数组中对应下标的颜色值实现每行不同颜色。4. 修改index.wxss文件文件中page的样式和.scrollarea的样式是创建项目时自动生成的其它几个.flex-wrap、button都是自定义的/**index.wxss**/ page { height: 100vh; display: flex; flex-direction: column; } .scrollarea { flex: 1; overflow-y: hidden; } .flex-wrap { margin-top: 40rpx; font-size: 40rpx; text-align: center; line-height: 2em; letter-spacing: 1em; } button { margin-top: 40rpx; margin-bottom: 40rpx; }5. 修改app.wxss文件/**app.wxss**/ .box { margin: 20rpx; padding: 20rpx; border: 2rpx solid red; } .title { font-size: 40rpx; font-weight: bolder; text-align: center; margin-bottom: 30rpx; color: pink; } .subtitle { text-align: center; color: blue; }6. 修改index.js文件核心逻辑// index.js Page({ data: { colors: [] }, // 生命周期函数 onLoad() { // 每隔5秒改变一次颜色 setInterval(() { this.createColor() }, 5000) }, // 点击按钮时的事件响应函数 changeColor() { this.createColor() }, // 创建四种随机颜色 createColor() { let colors [] // 定义十六种颜色字符集 const letters 0123456789ABCDEF // 外层循环控制生成4种颜色 for (let i 0; i 4; i) { // 十六进制颜色前面的符号 let c # // 内层循环控制生成一种十六进制的颜色例如#F208AB for (let j 0; j 6; j) { c letters[Math.floor(Math.random() * 16)] } // 将生成的颜色放到数组中 colors.push(c) } console.log(colors); this.setData({ colors }) } })四、要点解释函数 / 概念作用createColor()定义创建四种随机颜色的函数onLoad()生命周期回调 —— 监听页面加载Math.random()生成[0, 1)之间的随机数Math.floor()向下取整this.setData({})改变属性值驱动 WXML 更新setInterval周期函数传一个处理函数和一个执行间隔颜色是怎么随机出来的十六进制颜色形如#RRGGBB如#F208AB一共 6 位每位取值是0-9或A-F共 16 种字符。Math.random() * 16得到[0, 16)的随机数Math.floor()向下取整得到0~15的整数下标用下标从字符集0123456789ABCDEF中取出对应字符内层循环执行 6 次拼出完整的#xxxxxx外层循环执行 4 次生成 4 行诗的颜色存入colors数组。五、成果预览

相关新闻

Spring Boot 中 RabbitMQ 生产级配置与避坑指南

Spring Boot 中 RabbitMQ 生产级配置与避坑指南

1. 为什么今天还要认真学 RabbitMQ?不是 Kafka 更火吗? Spring Boot 实践系列写到第十一章,绕不开消息中间件这个“系统黏合剂”。很多人看到标题第一反应是:RabbitMQ 还值得花时间深挖吗?Kafka 不是早就成了大数据场景…

2026/10/15 20:56:14 阅读更多 →
Poco NotificationCenter 替代 Qt 信号槽:C++ 事件总线实战

Poco NotificationCenter 替代 Qt 信号槽:C++ 事件总线实战

简介:这是一份面向C中高级开发者的示例工程,用Poco网络库的事件机制模拟QT信号与槽的通信效果,帮助在不依赖QT框架的项目中实现对象间低耦合的消息传递。工程采用CMakeLists构建,包含头文件、源文件、构建脚本与配置文件等&#x…

2026/10/15 20:55:44 阅读更多 →
如何快速领取 CDK 卡密?LDStatusPro CDK 面板实战使用指南

如何快速领取 CDK 卡密?LDStatusPro CDK 面板实战使用指南

【免费下载链接】LDStatusPro 一款功能强大的 Linux.do 社区增强工具以及相关综合服务开源项目。包含论坛辅助脚本、LD 士多前端源码、LDStatusPro官网源码等。 项目地址: https://gitcode.com/gh_mirrors/ld/LDStatusPro 点击查看 免费下载 想在社区活动中快速领取…

2026/10/14 18:31:52 阅读更多 →

最新新闻

NDIS小端口驱动开发实战:从Miniport注册到NBL收发路径详解

NDIS小端口驱动开发实战:从Miniport注册到NBL收发路径详解

简介:这是一份面向Windows内核网络驱动开发者的NDIS 6.0小端口驱动实例源码,针对Realtek 8111/8168/8169/8110等PCI千兆以太网控制器编写。由于DDK中可参考的miniport示例仅有E100BEX,学习NDIS 6.0网卡驱动的资料相当稀缺,本资源正…

2026/10/15 20:55:56 阅读更多 →
档案管理信息系统核心设计:PostgreSQL+Django构建可审计闭环

档案管理信息系统核心设计:PostgreSQL+Django构建可审计闭环

简介:本资源是一套基于Delphi 6与SQL Server的档案管理信息系统(AMIS)完整开发源码包,面向高校计算机专业学生、桌面应用初学者及中小型单位信息化建设人员,解决传统档案手工管理效率低、检索难、权限模糊、版本混乱等…

2026/10/15 20:55:56 阅读更多 →
openai模型性能对比:用TaoToken统一Key跑通多模型基准测试

openai模型性能对比:用TaoToken统一Key跑通多模型基准测试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 20:55:56 阅读更多 →
C++算法实现工程手册:从数据结构选型到性能验证的避坑指南

C++算法实现工程手册:从数据结构选型到性能验证的避坑指南

简介:《Implementing Useful Algorithms in C》由Dmytro Kedyk撰写,面向具备一定C基础、希望深入掌握算法设计与工程实现的开发者与计算机专业学生。全书从算法正确性证明、渐进记法、机器模型等基础出发,延伸至随机化算法、数据类型选择、内…

2026/10/15 20:55:56 阅读更多 →
GPT、Kimi、DeepSeek 多模态能力实测:open design 设计任务中的公平对比与 TaoToken 统一接入

GPT、Kimi、DeepSeek 多模态能力实测:open design 设计任务中的公平对比与 TaoToken 统一接入

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 20:55:56 阅读更多 →
具身智能中的协同机理研究(107):双引擎并行实现毫秒级精确控制

具身智能中的协同机理研究(107):双引擎并行实现毫秒级精确控制

前沿技术探索:TVA智能体(简称TVA) TVA智能体(亦称“AI智能体视觉”)是依托Transformer架构与“因式智能体”理论构建的新型工业视觉系统,也是当前最具代表性的具身视觉技术之一。它有机融合深度强化学习(DRL)、卷积神经网络(CNN)与因式分解算法(FRA),构成了具身智…

2026/10/15 20:54:55 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →