uni-app使用countdown插件实现倒计时


Posted in Javascript onNovember 01, 2020

本文实例为大家分享了使用countdown插件实现倒计时的具体代码,供大家参考,具体内容如下

实现的效果如下:

uni-app使用countdown插件实现倒计时

这里实现的是一个活动倒计时,获取当前时间和活动开始时间,相减得出的时间差就是我们需要的倒计时。使用插件很方便。

首先新建一个项目,选择uni-app,模板选择hello-uniapp,里面有官网的组件可以直接使用。创建之后将components整个文件夹复制到自己的项目中。

uni-app使用countdown插件实现倒计时

在需要使用倒计时的页面引入组件

<script>
 import uniCountdown from '@/components/uni-countdown/uni-countdown.vue'
 export default {
 data() {
  return {
  d:'',
  h:'',
  m:'',
  n:''
  }
 },
 
 components:{
  uniCountdown
 }
 }
</script>

在页面中放置定时器的位置

<view class="created" v-if="myData.stat == '未拍卖'">
 <span>距开始剩</span>
 <span class="timer">
    <uni-countdown :day="d" :hour="h" :minute="m" :second="s"></uni-countdown>
  </span>
</view>

计算定时器中绑定的时间d,h,m,s

var date = new Date();
  var now = date.getTime();
  var star = this.myData.startTime
  var endDate = new Date(star); 
  var end = endDate.getTime(); 
  var leftTime = end-now;
  if (leftTime >= 0) {
 this.d = Math.floor(leftTime/1000/60/60/24); 
 this.h = this.myData.validTime+Math.floor(leftTime/1000/60/60%24); 
 this.m = Math.floor(leftTime/1000/60%60); 
 this.s = Math.floor(leftTime/1000%60);
 console.log(this.d+'天'+this.h+'时'+this.m+'分'+this.s+'秒')
}

完整代码:

<template>
  <view class="created">
 <span>距开始剩</span>
 <span class="timer">
      <uni-countdown :day="d" :hour="h" :minute="m" :second="s"></uni-countdown>        
    </span>
 </view>
</template>
<script>
 import uniCountdown from '@/components/uni-countdown/uni-countdown.vue'
 export default {
 data() {
  return {
  d:'',
  h:'',
  m:'',
  n:'',
  }
 },
 onLoad(option){
  this.init()
 },
 
 methods: {
  init(){
        var date = new Date();
  var now = date.getTime();//获得当前时间与1970年1月1日时间相差的毫秒数
  var star = this.myData.startTime
  var endDate = new Date(star); 
  var end = endDate.getTime();//结束时间与1970年1月1日时间相差的毫秒数
  var leftTime = end-now;//计算两日期之间相差的毫秒数
  if (leftTime >= 0) {
   this.d = Math.floor(leftTime/1000/60/60/24);
   this.h = Math.floor(leftTime/1000/60/60%24); 
   this.m = Math.floor(leftTime/1000/60%60); 
   this.s = Math.floor(leftTime/1000%60);
   console.log(this.d+'天'+this.h+'时'+this.m+'分'+this.s+'秒')
  }
      }
    },
 components:{
  uniCountdown
 }
 }
</script>

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

Javascript 相关文章推荐
js实现图片从左往右渐变切换效果的方法
Feb 06 Javascript
jQuery Html控件基本操作(日常收集整理)
Mar 11 Javascript
基于Angularjs+mybatis实现二级评论系统(仿简书)
Feb 13 Javascript
layer弹出层中H5播放器全屏出错的解决方法
Feb 21 Javascript
Angular获取手机验证码实现移动端登录注册功能
May 17 Javascript
vue中简单弹框dialog的实现方法
Feb 26 Javascript
vue 表单验证按钮事件交由父组件触发的方法
Dec 17 Javascript
Mpvue中使用Vant Weapp组件库的方法步骤
May 16 Javascript
JS判断数组里是否有重复元素的方法小结
May 21 Javascript
js实现图片粘贴到网页
Dec 06 Javascript
浅谈Vue 自动化部署打包上线
Jun 14 Javascript
vue中实现拖动调整左右两侧div的宽度的示例代码
Jul 22 Javascript
uni-app实现获取验证码倒计时功能
Nov 01 #Javascript
uniapp电商小程序实现订单30分钟倒计时
Nov 01 #Javascript
详解JavaScript之Array.reduce源码解读
Nov 01 #Javascript
微信小程序实现星星评分效果
Nov 01 #Javascript
Express 配置HTML页面访问的实现
Nov 01 #Javascript
ant design vue 表格table 默认勾选几项的操作
Oct 31 #Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
Oct 31 #Javascript
You might like
乐信RP2100的电路分析和打磨
2021/03/02 无线电
php中JSON的使用与转换
2015/01/14 PHP
页面回到顶部的三种实现(锚标记,js)
2012/10/01 Javascript
form表单action提交的js部分与html部分
2014/01/07 Javascript
网站繁简切换的JS遇到页面卡死的解决方法
2014/03/12 Javascript
node.js中的path.isAbsolute方法使用说明
2014/12/08 Javascript
使用DeviceOne实现微信小程序功能
2016/12/29 Javascript
xmlplus组件设计系列之图标(ICON)(1)
2017/05/05 Javascript
浅谈关于.vue文件中style的scoped属性
2017/08/19 Javascript
vue组件之Alert的实现代码
2017/10/17 Javascript
layui 优化button按钮和弹出框的方法
2018/08/15 Javascript
three.js实现圆柱体
2018/12/30 Javascript
详解如何用webpack4从零开始构建react开发环境
2019/01/27 Javascript
vue实现瀑布流组件滑动加载更多
2020/03/10 Javascript
JavaScript中的全局属性与方法深入解析
2020/06/14 Javascript
Python cookbook(数据结构与算法)将名称映射到序列元素中的方法
2018/03/22 Python
python 2.7.14安装图文教程
2018/04/08 Python
python实现任意位置文件分割的实例
2018/12/14 Python
Python如何实现远程方法调用
2020/08/07 Python
3种方式实现瀑布流布局小结
2019/09/05 HTML / CSS
美国知名艺术画网站:Art.com
2017/02/09 全球购物
花园仓库建筑:Garden Buildings Direct
2018/02/16 全球购物
Spartoo西班牙官网:法国时尚购物网站
2018/03/27 全球购物
波兰补充商店:Muscle Power
2018/10/29 全球购物
办公室主任岗位承诺书
2014/05/29 职场文书
小学学校门卫岗位职责
2014/08/03 职场文书
创先争优活动个人总结
2015/03/04 职场文书
2015年乡镇纪检工作总结
2015/04/22 职场文书
公司员工奖惩制度
2015/08/04 职场文书
大学生党课感想
2015/08/11 职场文书
七年级作文之冬景
2019/11/07 职场文书
CSS几步实现赛博朋克2077风格视觉效果
2021/06/16 HTML / CSS
Vue3.0 手写放大镜效果
2021/07/25 Vue.js
MySQL数据库配置信息查看与修改方法详解
2022/06/25 MySQL
VUE递归树形实现多级列表
2022/07/15 Vue.js
win10输入法不见了只能打出字母怎么解决?
2022/08/05 数码科技