vue中多个倒计时实现代码实例


Posted in Javascript onMarch 27, 2019

下面给出一个效果图,我今天要说的就是实现下图这种多个倒计时

vue中多个倒计时实现代码实例

很多时候我们做只有一个倒计时的情况比较多,比较简单只需要一个定时器setInterval,算出来赋赋值就好,

但是需要多个倒计时的时候我们就要考虑把倒计时封装成通用的方法了

拿我自己的vue项目举个例

<!-- template -->
 <div v-for="(item,index) in list" :key="index" class="act_item">
 <h1>{{ item.title }}</h1>
 <img :src="item.pic" alt="">
 <div class="act_info">
  <h2><span>{{ item.count }}</span>个视频</h2>
  <div class="time">倒计时:{{ item.djs }}</div>
  <div class="clear"></div>
 </div>
 </div>
<script>
function InitTime(endtime){
 var dd,hh,mm,ss = null;
 var time = parseInt(endtime) - new Date().getTime();
 if(time<=0){
 return '结束'
 }else{
 dd = Math.floor(time / 60 / 60 / 24);
 hh = Math.floor((time / 60 / 60) % 24);
 mm = Math.floor((time / 60) % 60);
 ss = Math.floor(time % 60);
 var str = dd+"天"+hh+"小时"+mm+"分"+ss+"秒";
 return str;
 }
}
export default {
 data () {
	return {
  active: 'tab-container1',
  pinkFont:true,
  // 上拉刷新、下拉加载
  allLoaded: false, //如果为true,禁止上拉刷新
  autoFill: false, //取消自动填充,
  list: [],
 	}
 },
 created() {
 var ssss = [
  {"title": "小心愿,大梦想","pic":"../../assets/img/new/act1.jpg","count":"34","time":"1525293470350"},
  {"title": "杭州国际时装周童模招募","pic":"../../assets/img/new/act2.jpg","count":"36","time":"1525293470350"},
  {"title": "怪兽bobo全线代言火爆杭城的联名秀招募童模啦!","pic":"../../assets/img/new/act3.jpg","count":"74","time":"1529253270350"},
  {"title": "汉风唐韵 、别","pic":"../../assets/img/new/act2.jpg","count":"266","time":"1525753270350"},
  {"title": "听说你们想和明星超模同台“PK”?","pic":"../../assets/img/new/act1.jpg","count":"97","time":"1525253270450"},
 ];
 ssss.map( (obj,index)=>{
  this.$set(
  obj,"djs",InitTime(obj.time)
  );
 })
 this.list = ssss;
 },
 mounted() {
 setInterval( ()=> {
  for (var key in this.list) {
  var aaa = parseInt( this.list[key]["time"] );
  var bbb = new Date().getTime();
  var rightTime = aaa - bbb;
  if (rightTime > 0) {
   var dd = Math.floor(rightTime / 1000 / 60 / 60 / 24);
   var hh = Math.floor((rightTime / 1000 / 60 / 60) % 24);
   var mm = Math.floor((rightTime / 1000 / 60) % 60);
   var ss = Math.floor((rightTime / 1000) % 60);
  }
  this.list[key]["djs"] = dd + "天" + hh + "小时" + mm + "分" + ss + "秒";
  }
 }, 1000);
 
 },
 methods: {
 
 }
}
</script>

需要注意的是this.$set(obj,"djs",InitTime(obj.time)代码,在一个对象已经有了的情况下,假如此时object里没有djs这个元素,直接object.djs = "要赋的值"这样的做法是不正确的,可能会赋值成功,但是会出现很多奇怪的问题,推荐用

this.$set(object,'djs','要赋的值');

以上所述是小编给大家介绍的vue中多个倒计时实现详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js null undefined 空区别说明
Jun 13 Javascript
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
Apr 02 Javascript
如何让页面加载完成后执行js
Jun 26 Javascript
查找iframe里元素的方法可传参
Sep 11 Javascript
js 赋值包含单引号双引号问题的解决方法
Feb 26 Javascript
Javascript连接多个数组不用concat来解决
Mar 24 Javascript
iframe子页面与父页面在同域或不同域下的js通信
May 07 Javascript
js中使用replace方法完成某个字符的转换
Aug 20 Javascript
详解JavaScript中js对象与JSON格式字符串的相互转换
Feb 14 Javascript
webpack配置的最佳实践分享
Apr 21 Javascript
javascript、php关键字搜索函数的使用方法
May 29 Javascript
Node.js API详解之 timer模块用法实例分析
May 07 Javascript
JavaScript偏函数与柯里化实例详解
Mar 27 #Javascript
vue实现鼠标移入移出事件代码实例
Mar 27 #Javascript
JavaScript惰性载入函数实例分析
Mar 27 #Javascript
微信小程序实现获取准确的腾讯定位地址功能示例
Mar 27 #Javascript
详解JS浏览器事件循环机制
Mar 27 #Javascript
详解如何更好的使用module vuex
Mar 27 #Javascript
原生js实现获取form表单数据代码实例
Mar 27 #Javascript
You might like
深入PHP运行环境配置的详解
2013/06/04 PHP
php实现的九九乘法口诀表简洁版
2014/07/28 PHP
php中异常处理方法小结
2015/01/09 PHP
PHP格式化MYSQL返回float类型的方法
2016/03/30 PHP
PHP实现微信模拟登陆并给用户发送消息的方法【文字,图片,图文】
2017/06/29 PHP
TopList标签和JavaScript结合两例
2007/08/12 Javascript
Javascript 学习笔记 错误处理
2009/07/30 Javascript
js模仿html5 placeholder适应于不支持的浏览器
2013/01/13 Javascript
js 字符串转换成数字的三种方法
2013/03/23 Javascript
IE、FF、Chrome浏览器中的JS差异介绍
2013/08/13 Javascript
jQuery控制DIV层实现由大到小,由远及近动画变化效果
2015/10/09 Javascript
javascript数组去重小结
2016/03/07 Javascript
nodejs简单实现操作arduino
2016/09/25 NodeJs
微信小程序实战之运维小项目
2017/01/17 Javascript
ajax 提交数据到后台jsp页面及页面跳转问题
2017/01/19 Javascript
微信小程序开发的四十个技术窍门总结(推荐)
2017/01/23 Javascript
bootstrap table表格客户端分页实例
2017/08/07 Javascript
Vue-router 类似Vuex实现组件化开发的示例
2017/09/15 Javascript
jQuery实现可兼容IE6的遮罩功能详解
2017/09/19 jQuery
微信小程序实现星级评价效果
2018/12/28 Javascript
Openlayers+EasyUI Tree动态实现图层控制
2020/09/28 Javascript
[02:34]DOTA2亚洲邀请赛 BG战队出场宣传片
2015/03/09 DOTA
详解Python各大聊天系统的屏蔽脏话功能原理
2016/12/01 Python
Python中max函数用于二维列表的实例
2018/04/03 Python
关于python3中setup.py小概念解析
2019/08/22 Python
用pytorch的nn.Module构造简单全链接层实例
2020/01/14 Python
tensorflow之并行读入数据详解
2020/02/05 Python
俄罗斯花园种植材料批发和零售网上商店:Беккер
2019/07/22 全球购物
英国手工制作的现代与经典的沙发和床:Love Your Home
2020/09/26 全球购物
优秀学生事迹材料
2014/02/08 职场文书
致长跑运动员加油稿
2014/02/20 职场文书
反四风个人对照检查材料
2014/09/26 职场文书
硕士论文致谢范文
2015/05/14 职场文书
2016年质量月活动总结报告
2016/04/05 职场文书
Netty客户端接入流程NioSocketChannel创建解析
2022/03/25 Java/Android
SONY AN-LP1 短波有源天线放大器图
2022/04/05 无线电