为了账号安全,请及时绑定邮箱和手机立即绑定

小程序列表倒计时功能

标签:
Html/CSS

先看看效果

https://img1.sycdn.imooc.com//5d3085f1000144f900120039.jpg

效果图

直接上代码

js:
Page({
    /**
     * 页面的初始数据
     */
    data: {
        listData: []
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {        let list = [
            {
                id: 1,
                memberNickname: '列表1',
                remainTime: 86400000
            },
            {
                id: 2,
                memberNickname: '列表2',
                remainTime: 3226000
            },
            {
                id: 3,
                memberNickname: '列表3',
                remainTime: 15000
            }
        ];
        this.setData({
            listData: list
        });
        this.setCountDown();
    },

    /**
     * 倒计时
     */
    setCountDown: function(){        let time = 100;        let { listData } = this.data;        let list = listData.map((v, i) =>{            if (v.remainTime <= 0) {
                v.remainTime = 0;
            }            let formatTime = this.getFormat(v.remainTime);
            v.remainTime -= time;
            v.countDown = `${formatTime.hh}:${formatTime.mm}:${formatTime.ss}.${parseInt(formatTime.ms / time)}`;            return v;
        })
        this.setData({
            listData: list
        });
        setTimeout(this.setCountDown, time);
    },

    /**
     * 格式化时间
     */
    getFormat: function (msec){        let ss = parseInt(msec / 1000);        let ms = parseInt(msec % 1000);        let mm = 0;        let hh = 0;        if (ss > 60) {
            mm = parseInt(ss / 60);
            ss = parseInt(ss % 60);            if (mm > 60) {
                hh = parseInt(mm / 60);
                mm = parseInt(mm % 60);
            }
        }
        ss = ss > 9 ? ss : `0${ss}`;
        mm = mm > 9 ? mm : `0${mm}`;
        hh = hh > 9 ? hh : `0${hh}`;        return { ms, ss, mm, hh };
    }
})
wxml:
<view>
    <view class="flex_l_r_c" wx:for="{{listData}}" wx:key="id">
        <view>{{item.memberNickname}}</view>
        <view>{{item.countDown}}</view>
    </view></view>



作者:不二很纯洁
链接:https://www.jianshu.com/p/c230f4841b70


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消