美文网首页小程序小程序专题
小程序实现简单的倒计时秒杀效果

小程序实现简单的倒计时秒杀效果

作者: 祈澈菇凉 | 来源:发表于2018-11-27 15:42 被阅读295次

    1:小程序实现电商秒杀倒计时效果+样式

    wxml:

    <view class="container">
         <text>淘抢购倒计时: {{second}} </text>
    </view>
    

    wxss:

    .container{
      background: #fe6906;
      color: #ffffff;
    }
    

    js

    // 从从60到到0倒计时
    function countdown(that) {
      var second = that.data.second
      if (second == 0) {
        that.setData({
          second: "秒杀结束"
        });
        return;
      }
      var time = setTimeout(function () {
        that.setData({
          second: second - 1
        });
        countdown(that);
      }
        , 1000)
    }
    
    Page({
      data: {
        second: 60
      },
      onLoad: function () {
        countdown(this);
      }
    });
    

    效果如下

    rnh03tG7ni.gif

    2:时分秒倒计时+样式
    拼团秒杀功能
    https://blog.csdn.net/qq_41473887/article/details/81287786

    wxml:

    <view class='container'>
        <text>剩余时间:{{countdown}}</text>
    </view>
    

    wxss:

    .container{
      background: #fe6906;
      color: #ffffff;
    }
    

    js:

    Page({
    
      /*页面的初始数据*/
      data: {
        countdown: ''
        , endDate2: '2018-11-11 11:41:00'
      },
      /* 生命周期函数--监听页面加*/
      onLoad: function (options) {
        var that = this;
        that.countTime()
      },
      countTime() {
        var that = this;
        var date = new Date();
        var now = date.getTime();
        var endDate = new Date(that.data.endDate2);//设置截止时间
        var end = endDate.getTime();
        var leftTime = end - now; //时间差                              
        var d, h, m, s, ms;
        if (leftTime >= 0) {
          d = Math.floor(leftTime / 1000 / 60 / 60 / 24);
          h = Math.floor(leftTime / 1000 / 60 / 60 % 24);
          m = Math.floor(leftTime / 1000 / 60 % 60);
          s = Math.floor(leftTime / 1000 % 60);
          ms = Math.floor(leftTime % 1000);
          ms = ms < 100 ? "0" + ms : ms
          s = s < 10 ? "0" + s : s
          m = m < 10 ? "0" + m : m
          h = h < 10 ? "0" + h : h
          that.setData({
            countdown: d + ":" + h + ":" + m + ":" + s + ":" + ms,
          })
          //递归每秒调用countTime方法,显示动态时间效果
          setTimeout(that.countTime, 100);
        } else {
          console.log('已截止')
          that.setData({
            countdown: '00:00:00'
          })
        }
    
      },
    })
    

    效果如下:

    原文作者:祈澈姑娘 技术博客:https://www.jianshu.com/u/05f416aefbe1
    90后前端妹子,爱编程,爱运营,爱折腾。坚持总结工作中遇到的技术问题,坚持记录工作中所所思所见,欢迎大家加入群聊,一起探讨交流。

    相关文章

      网友评论

        本文标题:小程序实现简单的倒计时秒杀效果

        本文链接:https://www.haomeiwen.com/subject/mfqitqtx.html