vue怎么实现倒计时(Vue计时器的用法详解)
类别:编程学习 浏览量:1965
时间:2021-10-27 10:31:51 vue怎么实现倒计时
Vue计时器的用法详解本文实例为大家分享了Vue实现计时器的具体代码,供大家参考,具体内容如下
功能简介:
1、初始值为0,点击【加】按钮,数字自+1;连续点击【加】,不影响数字+1
2、点击【停】按钮,停止+1
源码:
<!DOCTYPE html> <html add="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <!-- 1. 导入Vue包 --> <script src="./lib/vue-2.4.0.js"></script> </head> <body> <!-- 2. 创建一个要控制的区域 --> <li id="app"> <input type="button" value="加" @click="add"> <input type="button" value="停" @click="stop"> <h4>{{ count }}</h4> </li> <script> var vm = new Vue({ el: '#app', data: { count: 0, intervalId: null }, methods: { add() { // 计时器正在进行中,退出函数 if (this.intervalId != null) { return }; // 计时器为空,操作 this.intervalId = setInterval(() => { this.count += 1 }, 400) }, // 停止定时器 stop() { clearInterval(this.intervalId)//清除计时器 this.intervalId = null;//设置为null } } }) </script> </body> </html>
之前小编收藏了一个开始计时的组件,这个组件可直接引入到项目中使用,谢谢原作者分享。
<template> <li class="timer"> <li ref="startTimer"></li> </li> </template> <script> export default { name: 'Timer', data () { return { timer: "", content: "", hour: 0, minutes: 0, seconds: 0 } }, created () { this.timer = setInterval(this.startTimer, 1000); }, destroyed () { clearInterval(this.timer); }, methods: { startTimer () { this.seconds += 1; if (this.seconds >= 60) { this.seconds = 0; this.minute = this.minute + 1; } if (this.minute >= 60) { this.minute = 0; this.hour = this.hour + 1; } this.$refs.startTimer.innerHTML = (this.minutes < 10 ? '0' + this.minutes : this.minutes) + ':' + (this.seconds < 10 ? '0' + this.seconds : this.seconds); } } } </script> <style> </style>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
您可能感兴趣
- springboot如何解析vue登录参数(SpringBoot + Vue 项目部署上线到Linux 服务器的教程详解)
- vue慢动作怎么操作(vue开发之moment的介绍与使用)
- vue使用echarts教程(Vue使用echarts可视化组件的方法)
- vue插槽实例(Vue中插槽slot的使用方法与应用场景详析)
- vueelementui表格操作(Vue组件库ElementUI实现表格列表分页效果)
- ant design 的vue批量操作(ant desing vue table 实现可伸缩列的完整例子)
- vue3 动态生成组件(如何在vue3.0+中使用tinymce及实现多图上传文件上传公式编辑功能)
- vue组件开发步骤(解析如何自动化生成vue组件文档)
- vue怎么实现预览与放大(Vue实现牌面翻转效果)
- vue-cli安装教程学习(Vue新手指南之创建第一个vue-cli脚手架程序)
- vue项目打包上线的方法(vue项目打包以及优化的实现步骤)
- vue左右滑屏(vue中实现全屏以及对退出全屏的监听)
- vue设置div大小(Vue实现div滚轮放大缩小)
- icon图标怎么引入vue(vue引入iconfont图标库的优雅实战记录)
- vue3 axios 怎么封装api(vue中如何简单封装axios浅析)
- vue实现树形结构菜单(vue递归实现三级菜单)
- 今年考高会很难吗(今年高考会考试吗)
- 盘古开天地 他创造了世界,谁创造了盘古 盘古是伏羲吗(盘古开天地他创造了世界)
- 关于队徽 你了解这些么 二(关于队徽你了解这些么)
- 冬天来了手脚冰凉 真不是因为上辈子你是折翼的天使(冬天来了手脚冰凉)
- 0 1 岁婴儿最强作息指南,照着做养出天使宝宝(01岁婴儿最强作息指南)
- 沪上这16所高校 萌新 礼包开箱 哪一款让你心动(沪上这16所高校萌新)
热门推荐
- mysql连接数与缓存(Mysql连接数设置和获取的方法)
- docker启动项目需要tomcat吗(docker安装tomcat并部署Springboot项目war包的方法)
- dedecms调用原始图(DEDECMS点击图片进入下一页功能实现教程)
- dede如何添加自定义字段内容(织梦dede模板标签书写格式的规范和相关注意事项)
- python里range循环(Python for循环与range函数的使用详解)
- php不能用mysql(php写入mysql中文乱码的实例解决方法)
- vsftpd详细配置(vsFTPd 服务器初学者指南)
- ASP.NET cache缓存的用法
- linux wait函数(分析从Linux源码看TIME_WAIT的持续时间)
- sql查询语句casewhen是什么意思(SQL Server中使用判断语句IF ELSE/CASE WHEN 案例)