微信小程序实现倒计时功能


Posted in Javascript onNovember 19, 2020

本文实例为大家分享了微信小程序实现倒计时功能的具体代码,供大家参考,具体内容如下

商城商品中的活动倒计时

js

var endTime = new Date().getTime() + 24 * 3600 * 1000*4;

Page({

 /**
 * 页面的初始数据
 */
 data: {
 headerImgs: postData.postSwiperData,
 countDownDay: '',
 countDownHour: '',
 countDownMinute: '',
 countDownSecond: '',
 },

 /**
 * 生命周期函数--监听页面加载
 */
 onLoad: function(options) {
 var id = options.id; //页面跳转传过来的值
 },
 onReady: function() {
 var that = this;

 countdown(that);
 }
})

function countdown(that) {
 var NowTime = new Date().getTime();
 var EndTime = endTime;
 var total_micro_second = EndTime - NowTime || [];
 console.log('当前时间'+NowTime+'\n剩余时间:' + total_micro_second);
 // 渲染倒计时时钟
 that.setData({
 countDownDay: dateformaDay(total_micro_second),
 countDownHour: dateformaHour(total_micro_second),
 countDownMinute: dateformaMinute(total_micro_second),
 countDownSecond: dateformaSecondMinute(total_micro_second),
 });
 // if (total_micro_second <= 0) {
 // that.setData({
 // clock: "已经截止"
 // });
 // //return;
 // }
 setTimeout(function() {
 total_micro_second -= 1000;
 countdown(that);
 }, 1000)
}

// 时间格式化输出
function dateformaDay(micro_second) {
 // 总秒数
 var second = Math.floor(micro_second / 1000);
 // 天数
 var day = Math.floor(second / 3600 / 24);
 return day;
}

function dateformaHour(micro_second) {
 // 总秒数
 var second = Math.floor(micro_second / 1000);
 // 小时
 var hr = Math.floor(second / 3600 % 24);
 return hr;
}

function dateformaMinute(micro_second) {
 // 总秒数
 var second = Math.floor(micro_second / 1000);
 // 分钟
 var min = Math.floor(second / 60 % 60);
 return min;
}

function dateformaSecondMinute(micro_second) {
 // 总秒数
 var second = Math.floor(micro_second / 1000);
 // 秒
 var sec = Math.floor(second % 60);
 return sec;
}

wxml

<!-- 倒计时 start -->
 <view style='display:flex;flex-direction:column;'>
 <span style="font-size:10px;color:white;margin-top:5px;">距活动结束还剩</span>
 <view class='time-container'>
 <text class='time-number'>{{countDownDay}}</text>
 <span class='time-text'>天</span>
 <text class='time-number'>{{countDownHour}}</text>
 <span class='time-text'>时</span>
 <text class='time-number'>{{countDownMinute}}</text>
 <span class='time-text '>分</span>
 <text class='time-number '>{{countDownSecond}}</text>
 <span class='time-text '>秒</span>
 </view>
 </view>
<!-- 倒计时 end -->

wxss

.time-container {
 display: flex;
 flex-direction: row;
 margin-top: 10px;
 margin-bottom: 10px;
 margin-right: 10px;
 align-items: center;
}

.time-number {
 background: white;
 color: red;
 width: 18px;
 height: 18px;
 font-size: 12px;
 border-radius: 3px;
 display: flex;
 align-items: center;
 justify-content: center;
}

.time-text {
 font-size: 10px;
 color: white;
 margin: 3px;
}

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript窗口功能指南之在窗口中书写内容
Jul 21 Javascript
Prototype使用指南之hash.js
Jan 10 Javascript
JS location几个方法小姐
Jul 09 Javascript
获取HTML DOM节点元素的方法的总结
Aug 21 Javascript
十个迅速提升JQuery性能让你的JQuery跑得更快
Dec 10 Javascript
JS添加删除一组文本框并对输入信息加以验证判断其正确性
Apr 11 Javascript
ANGULARJS中用NG-BIND指令实现单向绑定的例子
Dec 08 Javascript
javascript中字体浮动效果的简单实例演示
Nov 18 Javascript
JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例
Jan 29 Javascript
详解关于JSON.parse()和JSON.stringify()的性能小测试
Mar 14 Javascript
JavaScript find()方法及返回数据实例
Apr 30 Javascript
vant-ui AddressEdit地址编辑和van-area的用法说明
Nov 03 Javascript
微信小程序实现列表左右滑动
Nov 19 #Javascript
详解JavaScript 中的批处理和缓存
Nov 19 #Javascript
Javascript中window.name属性详解
Nov 19 #Javascript
JavaScript实现图片合成下载的示例
Nov 19 #Javascript
vue 获取到数据但却渲染不到页面上的解决方法
Nov 19 #Vue.js
vue 插槽简介及使用示例
Nov 19 #Vue.js
微信小程序实现点击导航条切换页面
Nov 19 #Javascript
You might like
PHP基本语法总结
2014/09/06 PHP
PHP日期和时间函数的使用示例详解
2020/08/06 PHP
IE8 下的Js错误HTML Parsing Error...
2009/08/14 Javascript
Javascript attachEvent传递参数的办法
2009/12/14 Javascript
js编码之encodeURIComponent使用介绍(asp,php)
2012/03/01 Javascript
jquery焦点图片切换(数字标注/手动/自动播放/横向滚动)
2013/01/24 Javascript
解析js原生方法创建表格效率测试
2013/07/08 Javascript
jquery获取一组checkbox的值(实例代码)
2013/11/04 Javascript
JS实现汉字与Unicode码相互转换的方法详解
2017/04/28 Javascript
关于react-router的几种配置方式详解
2017/07/24 Javascript
Vue如何从1.0迁移到2.0
2017/10/19 Javascript
vue.js 获取select中的value实例
2018/03/01 Javascript
Vue仿支付宝支付功能
2018/05/25 Javascript
jQuery插件实现非常实用的tab栏切换功能【案例】
2019/02/18 jQuery
JS实现集合的交集、补集、差集、去重运算示例【ES5与ES6写法】
2019/02/18 Javascript
TypeScript中的方法重载详解
2019/04/12 Javascript
在微信小程序中使用vant的方法
2019/06/07 Javascript
vue+element加入签名效果(移动端可用)
2019/06/17 Javascript
微信内置开发 iOS修改键盘换行为搜索的解决方案
2019/11/06 Javascript
详解JavaScript自定义函数
2020/07/29 Javascript
[03:15]DOTA2-DPC中国联赛1月22日Recap集锦
2021/03/11 DOTA
Python使用reportlab将目录下所有的文本文件打印成pdf的方法
2015/05/20 Python
Python 模拟登陆的两种实现方法
2017/08/10 Python
Python 中 Virtualenv 和 pip 的简单用法详解
2017/08/18 Python
python opencv实现运动检测
2018/07/10 Python
python数据处理 根据颜色对图片进行分类的方法
2018/12/08 Python
Python 保存矩阵为Excel的实现方法
2019/01/28 Python
python 使用pdfminer3k 读取PDF文档的例子
2019/08/27 Python
Python用input输入列表的实例代码
2020/02/07 Python
linux 下selenium chrome使用详解
2020/04/02 Python
公关关系专员的自我评价分享
2013/11/20 职场文书
留学推荐信范文
2014/05/10 职场文书
工作失误检讨书(3篇)
2014/10/11 职场文书
2014年客服工作总结范文
2014/11/13 职场文书
golang 如何用反射reflect操作结构体
2021/04/28 Golang
Netty分布式客户端接入流程初始化源码分析
2022/03/25 Java/Android