小程序 ,倒数,从800倒数到0,自定义显示数字样式图片显示数字

小程序 ,倒数,从800倒数到0,自定义显示数字样式图片显示数字

我写的代码,你直接复制过去就可以显示,我已测试过了;

上次写的是随机数显示一个区间的数字用图片代指数字,
我暗暗自喜,不是倒计时,
可是,可是。。。。
就在昨天,要写倒计时,没办法,又得写了,随便记录一下,
项目文件是这样的
在这里插入图片描述
wxml文件


<view class="page">倒数名额</view>
<view class="pagImg">
    <image src="../../img/{{qian}}.png"></image>
    <image src="../../img/{{hund}}.png"></image>
    <image src="../../img/{{ten}}.png"></image>
    <image src="../../img/{{one}}.png"></image>
</view>

wxss文件,
样式写的有点多,其实你不写也是一样的,但是我不喜欢拿丑的东西分享,所以写的有点多


page{
  background: #ccc;
}
.page{
  background: rgb(66, 66, 66);
  color: #fff;
  font-size: 52rpx;
  margin: 0 30rpx;
  margin-top: 100rpx;
  text-align: center;
  height: 120rpx;
  line-height:120rpx;
  margin-bottom: 40rpx;
}
.pagImg{
  text-align: center;
  margin: 0 30rpx;
  border: 1px solid rgb(66, 66, 66);
  padding:60rpx;
  background: #fff;
  box-shadow: 2px 0px 10px 4px rgb(66, 66, 66);
  border-radius: 15rpx;
}
view image{
  width: 120rpx;
  height: 160rpx;
  margin: 0 10rpx;
}

js代码

Page({
  data: {
    qian: 0,
    hund: 0,
    ten: 0,
    one: 0
  },
  onLoad: function () {
    this.numtap()
  },
  // 将数字转化成字符串,并判断千位,百位,十位,个位,为0的情况,处理的方法
  randomNUm: function(num) {
    var that = this;
    var strNum = num.toString()
    var tt1 = strNum.substring(0, 1)
    var tt2 = strNum.substring(1, 2)
    var tt3 = strNum.substring(2, 3)
    var tt4 = strNum.substring(3, 4)
    if (num < 1000) {
      return that.setData({
        qian: '0',
        hund: tt1,
        ten: tt2,
        one: tt3
      })
    } else if (num < 100) {
      return that.setData({
        qian: '0',
        hund: '0',
        ten: tt1,
        one: tt2
      })
    } else if (num < 10) {
      return that.setData({
        qian: '0',
        hund: '0',
        ten: tt1,
        one: tt2
      })
    } else if (num < 0) {
      return that.setData({
        qian: '0',
        hund: '0',
        ten: '0',
        one: '0'
      })
      clearInterval(time)
    } else {
      return that.setData({
        qian: tt1,
        hund: tt2,
        ten: tt3,
        one: tt4
      })
    }
  },
  // 计时器的方法
  numtap: function() {
    var that = this;
    //  800 -- 600之间的随机数,可以根据自己需求写
    var num = Math.floor(Math.random() * 200 + 600);
    // 在这纠结了很久,如果时间短,还凑合,
    // 当时间是5秒的时候 ,你打开页面后,这个定时器要五秒后才运行
    that.randomNUm(num)  // 在开始定时器之前,将获取到的数字解析,在页面渲染一遍,
    var time = setInterval(function() {
      num--
      that.randomNUm(num)
    }, 5000)
  },
})

写的有点繁琐,如果用到的地方比较多,可以将一些常用的方法,封装一下,放到app.js里面
直接调用,这样会好点,

时间的倒计时,项目里暂时没有,所以没有写,过几天了写,其实和这个差不多,获取到数值以后,判断临界值,再解析成字符串,再this.setdata({})出去,
希望点个赞,谢谢

以下是一个基于51单片机的LCD显示数字24并倒数的简单程序: ```c #include <reg52.h> #define uchar unsigned char #define uint unsigned int sbit RS = P2^0; // 数据/命令选择信号 sbit RW = P2^1; // 读/写选择信号 sbit EN = P2^2; // 使能信号 void delay(uint t) // 延时函数 { uint i, j; for(i = 0; i < t; ++i) for(j = 0; j < 1275; ++j); } void init_lcd() // LCD初始化函数 { RS = 0; RW = 0; EN = 0; delay(15); P0 = 0x38; // 设置8位数据总线,2行显示,5*7点阵字体 EN = 1; delay(5); EN = 0; P0 = 0x0c; // 开启显示,关闭光标,关闭闪烁 EN = 1; delay(5); EN = 0; P0 = 0x01; // 清除显示 EN = 1; delay(5); EN = 0; P0 = 0x06; // 光标移动方式,光标右移,字符不动 EN = 1; delay(5); EN = 0; } void write_com(uchar com) // 写命令函数 { RS = 0; RW = 0; EN = 0; P0 = com; EN = 1; delay(5); EN = 0; } void write_data(uchar dat) // 写数据函数 { RS = 1; RW = 0; EN = 0; P0 = dat; EN = 1; delay(5); EN = 0; } void main() { uchar i, j; init_lcd(); write_com(0x80); // 设置光标位置,第1行第1列 write_data('2'); // 显示数字2 write_data('4'); // 显示数字4 delay(500); // 延时0.5秒 write_com(0x01); // 清屏 for(i = 2; i >= 1; --i) // 循环倒数 { write_com(0x80); // 设置光标位置,第1行第1列 write_data(i + '0'); // 显示数字 write_data(' '); // 显示空格 for(j = 9; j >= 0; --j) // 每秒减一 { write_com(0x87); // 设置光标位置,第1行第8列 write_data(j + '0'); // 显示数字 delay(100); // 延时0.1秒 } } while(1); // 程序结束 } ``` 程序的主要思路是先在LCD上显示数字24,然后倒数数秒并在LCD上显示。程序中使用了LCD的基本操作函数,包括初始化函数、写命令函数和写数据函数,以及简单的延时函数。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值