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>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
您可能感兴趣
- vue路由跳转自动定位在哪里(Vue路由this.route.push跳转页面不刷新的解决方案)
- vue 底层原理(浅谈Vue插槽实现原理)
- vue三种判断条件(Vue中插槽和过滤器的深入讲解)
- vue监控对象变化(Vue之监听方法案例详解)
- vue滚动条下拉翻页(Vue中利用better-scroll组件实现横向滚动功能)
- vue函数中的默认参数(Vue3中SetUp函数的参数props、context详解)
- vue 网页打印(vue打印功能实现的两种方法总结)
- vue实现pc聊天页面(vue实现web在线聊天功能)
- vue各种模块(一篇文章学会Vue中间件管道)
- vue树形表格内容太长(VUE 无限层级树形数据结构显示的实现)
- vue可以用vite打包吗(vite+vue3+element-plus项目搭建的方法步骤)
- vue弹窗模板(Vue登录页面的动态粒子背景插件实现)
- vue3.0安装element(vue3+electron12+dll开发客户端配置详解)
- vue点击事件动态禁用(vue开发移动端使用better-scroll时click事件失效的解决方案)
- vuevlog制作软件(Vue实现Dialog封装)
- vue应用转flutter(Vue和Flask通信的实现)
- 一天一冲也算表 麦步,一款待机 21 天的智能手表体验评测(一天一冲也算表)
- 魅族智能手表充电座曝光 Type-C 接口,线座分离设计(魅族智能手表充电座曝光)
- 华为 Watch GT2 Pro 智能手表曝光,新增支持无线充电(华为WatchGT2)
- vivo首款智能手表来了 也有血氧饱和度监测,一次充电18天续航(vivo首款智能手表来了)
- 你知道 七夕 的真正含义吗(你知道七夕的真正含义吗)
- 七夕的寓意(七夕的寓意)
热门推荐
- css怎么快速布局(css重绘与重排的方法)
- vue websocket实时刷新数据(Vue+WebSocket页面实时刷新长连接的实现)
- sqlserver数据库同步复制(SqlServer将数据库中的表复制到另一个数据库)
- laravel提取数据库的字段(Laravel创建数据库表结构的例子)
- mysql创建表存在哪里(MySQL的表空间是什么)
- tomcat处理乱码(Tomcat中catalina.bat设置为UTF-8控制台出现乱码)
- css图片颜色提取(解析CSS 提取图片主题色功能小技巧)
- 云服务存储空间不足(云服务器内存资源不足解决方案)
- canvas绘制图形方法(如何使用canvas绘制可移动网格的示例代码)
- cssfloat和position功能(理解CSS浮动float、定位position)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9