微信小程序实战:自动随机变化的颜色(案例 2.10)

发布时间:2026/10/14 12:58:30
微信小程序实战:自动随机变化的颜色(案例 2.10) 1. 案例背景在微信小程序开发中通过 JavaScript 的随机数生成与页面数据绑定可以轻松实现界面元素的动态变化。本案例将带领大家完成一个「自动随机变化的颜色」小程序页面展示一首诗每隔几秒每行诗的颜色会随机变化点击按钮也能立即触发颜色刷新并在控制台打印每行诗的颜色数组。2. 实现效果本案例最终实现的效果如下界面一开始显示一首不同颜色的诗。每隔 5 秒每行诗的颜色随机变化。点击「改变颜色」按钮时每行诗的颜色也会立即变化。在控制台打印一个数组数组中有四个元素每个元素代表一行诗的颜色。3. 新建项目首先在微信开发者工具中新建一个不使用云服务、不使用模板的小程序项目。项目创建完成后依次修改以下文件。3.1 修改 app.json 文件在app.json中配置使用 webview 渲染引擎确保页面能够正常渲染。{ pages: [ pages/index/index ], window: { navigationBarTitleText: 自动随机变化的颜色 }, renderer: webview }3.2 修改 index.wxml 文件在index.wxml中代码最外层view内部嵌套三个view组件和一个按钮组件。其中第 3 个view组件又嵌套了 4 个view组件每个view组件用来显示不同颜色的文本内容。view classcontainer view classtitle静夜思/view view classauthor李白/view view classpoem view床前明月光/view view疑是地上霜/view view举头望明月/view view低头思故乡/view /view button typeprimary bindtapchangeColor改变颜色/button /view3.3 修改 index.wxss 文件在index.wxss中page的样式和.scrollarea的样式是创建项目时自动生成的其它几个都是自定义的。这里主要定义页面布局和文本样式。page { background-color: #f5f5f5; } .scrollarea { height: 100%; } .container { display: flex; flex-direction: column; align-items: center; padding: 40rpx; } .title { font-size: 48rpx; font-weight: bold; margin-bottom: 20rpx; } .author { font-size: 32rpx; color: #666; margin-bottom: 40rpx; } .poem { display: flex; flex-direction: column; align-items: center; margin-bottom: 60rpx; } .poem view { font-size: 36rpx; line-height: 1.8; }3.4 修改 app.wxss 文件在app.wxss中设置全局样式确保所有页面风格统一。page { font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif; }3.5 修改 index.js 文件在index.js中实现核心逻辑定义创建随机颜色的函数、生命周期函数以及按钮点击事件响应函数。Page({ data: { colors: [#000000, #000000, #000000, #000000] }, onLoad() { this.changeColor(); setInterval(() { this.changeColor(); }, 5000); }, changeColor() { const colors []; for (let i 0; i 4; i) { const r Math.floor(Math.random() * 256); const g Math.floor(Math.random() * 256); const b Math.floor(Math.random() * 256); colors.push(rgb(${r}, ${g}, ${b})); } this.setData({ colors }); console.log(colors); } });4. 要点解释下面对代码中的关键知识点进行说明onLoad生命周期回调用于监听页面加载页面初始化时自动执行。Math.random() 函数生成 [0, 1) 之间的随机数。Math.floor() 函数向下取整用于将随机数转换为整数颜色值。this.setData({})改变属性值驱动 WXML 更新实现界面刷新。setInterval周期函数接收一个处理函数和一个执行间隔用于定时执行颜色变化逻辑。5. 本小节作业完成《案例 2.10 自动随机变化的颜色》后可以尝试以下功能扩展标题的颜色也定时随机改变且与第一行诗的正文颜色相同。点击「改变颜色」按钮时标题的颜色也随之改变。通过本案例的练习相信你已经掌握了微信小程序中随机数生成、数据绑定和定时器的基本用法能够灵活实现界面元素的动态效果。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询