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 相关文章推荐
javascript jQuery插件练习
Dec 24 Javascript
拖动table标题实现改变td的大小(css+js代码)
Apr 16 Javascript
全系IE支持Bootstrap的解决方法
Oct 19 Javascript
node.js实现端口转发
Apr 14 Javascript
Bootstrap基本插件学习笔记之折叠(22)
Dec 08 Javascript
AngularJS使用angular.bootstrap完成模块手动加载的方法分析
Jan 19 Javascript
webpack学习笔记之代码分割和按需加载的实例详解
Jul 20 Javascript
AngularJS 控制器 controller的详解
Oct 17 Javascript
微信小程序动态生成二维码的实现代码
Jul 25 Javascript
jQuery选择器之基本过滤选择器用法实例分析
Feb 19 jQuery
小程序server请求微信服务器超时的解决方法
May 21 Javascript
vue 出现data-v-xxx的原因及解决
Aug 04 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
一个简单的自动发送邮件系统(一)
2006/10/09 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
PHP session垃圾回收机制实例分析
2019/06/28 PHP
在JavaScript中,为什么要尽可能使用局部变量?
2009/04/06 Javascript
php对mongodb的扩展(初识如故)
2012/11/11 Javascript
JavaScript 和 Java 的区别浅析
2013/07/31 Javascript
JavaScript函数获取事件源的小例子
2014/05/14 Javascript
jquery获取当前日期的方法
2015/01/14 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
2015/09/21 Javascript
javascript仿百度输入框提示自动下拉补全
2016/01/07 Javascript
jQuery实现横向带缓冲的水平运动效果(附demo源码下载)
2016/01/29 Javascript
常用Javascript函数与原型功能收藏(必看篇)
2016/10/09 Javascript
微信小程序 设置启动页面的两种方法
2017/03/09 Javascript
JavaScript实现选中文字提示新浪微博分享效果
2017/06/15 Javascript
vue2.X组件学习心得(新手必看篇)
2017/07/05 Javascript
angular实现spa单页面应用实例
2017/07/10 Javascript
浅谈原生JS中的延迟脚本和异步脚本
2017/07/12 Javascript
基于vue.js组件实现分页效果
2018/12/29 Javascript
js事件机制----捕获与冒泡机制实例分析
2020/05/22 Javascript
[47:12]TFT vs Secret Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
[01:35:53]完美世界DOTA2联赛PWL S3 Magma vs GXR 第二场 12.13
2020/12/17 DOTA
Python字符串格式化的方法(两种)
2017/09/19 Python
解决python gdal投影坐标系转换的问题
2020/01/17 Python
Django调用支付宝接口代码实例详解
2020/04/04 Python
详解HTML5之pushstate、popstate操作history,无刷新改变当前url
2017/03/15 HTML / CSS
兰蔻俄罗斯官方网站:Lancome俄罗斯
2019/12/09 全球购物
销售文员岗位职责
2013/11/29 职场文书
医院辞职信范文
2014/01/17 职场文书
如何打造一封优秀的留学推荐信
2014/01/25 职场文书
经贸韩语专业大学生职业规划
2014/02/14 职场文书
高中军训感言1000字
2014/03/01 职场文书
建筑工程催款函
2015/06/24 职场文书
辩论会主持词
2015/07/03 职场文书
2016形势与政策学习心得体会
2016/01/12 职场文书
详解vue身份认证管理和租户管理
2021/05/25 Vue.js
十大最强飞行系宝可梦,BUG燕上榜,第二是飞行系王者
2022/03/18 日漫