小程序通过按钮可以自由切换全局夜间模式与白天模式代码
时间: 2024-01-16 20:02:57 浏览: 69
要在小程序中通过按钮实现全局夜间模式与白天模式的切换,需要使用小程序的全局设置功能。以下是一个示例代码,演示如何实现这个功能:
在 app.json 文件中设置全局样式:
```json
{
"globalStyle": {
"backgroundColor": "#ffffff",
"color": "#000000"
},
"nightStyle": {
"backgroundColor": "#000000",
"color": "#ffffff"
}
}
```
在 app.js 文件中定义一个变量来表示当前的模式,并编写一个切换模式的函数:
```javascript
App({
globalData: {
mode: 'day' // 初始模式为白天模式
},
toggleMode: function() {
var currentMode = this.globalData.mode;
var newMode = currentMode === 'day' ? 'night' : 'day'; // 切换模式
this.globalData.mode = newMode;
// 在这里可以根据 newMode 值来调整全局样式或执行其他操作
// 例如修改全局背景颜色、文本颜色等
}
})
```
在页面的 wxml 文件中添加一个按钮组件:
```html
<view>
<button bindtap="toggleMode">切换模式</button>
</view>
```
在页面的 js 文件中引入 app.js,并调用全局的切换模式函数:
```javascript
const app = getApp();
Page({
toggleMode: function() {
app.toggleMode();
}
})
```
通过以上代码,在小程序中点击按钮会触发 toggleMode 函数,从而切换全局模式。在 toggleMode 函数中,根据当前的模式值来更新 globalData 中的 mode 变量,并根据新的模式值来调整全局样式。
这样,当用户点击按钮时,全局夜间模式与白天模式之间就可以自由切换了。注意要在 app.json 文件中设置全局样式,并在页面中引入 app.js 进行全局切换操作。
阅读全文