用vue实现一个可以长按加号/减号进行自增减的输入框:
思路:鼠标按下的时候启动一个定时器,控制值进行自增或者自减。当鼠标抬起的时候再取消这个定时器。

<!-- 可以长按加减号自增和自减 -->
<!DOCTYPE html>
<html lang="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><script src="./code/lib/vue-2.4.0.js"></script><style>#app {display: flex;justify-content: center;}#input {text-align: center;}</style>
</head><body><div id="app"><button class="btn" @click="subtract()" @mousedown="startSubTimer()" @mouseup="endSubTimer()">-</button><input type="text" name="num" id="input" v-model="count"><button class="btn" @click="add()" @mousedown="startAddTimer()" @mouseup="endAddTimer()">+</button></div>
</body>
<script>var vm = new Vue({el: "#app",data: {count: 0,timer: null,timer2: null,},methods: {add: function () {this.count++},subtract: function () {if (this.count <= 0) {this.count = 0;} else {this.count--;}},autoAddStart: function () {console.log(this.count)this.timer2 = setInterval(() => {this.count++}, 200);console.log("autoAddStart")},autoSubStart: function () {if (this.count <= 0) {this.count = 0this.timer2 = null} else {this.timer2 = setInterval(() => {if(this.count <= 0){this.count = 0}else {this.count--}}, 200);}},autoAddEnd: function () {clearTimeout(this.timer2)this.timer2 = null;},autoSubEnd: function(){clearTimeout(this.timer2)this.timer2 = null;},startSubTimer: function () {this.timer = setTimeout(() => {this.autoSubStart()}, 1000);console.log("mouseDown")},endSubTimer: function () {clearTimeout(this.timer)this.timer = null;this.autoSubEnd()console.log("mouseup")},startAddTimer: function () {this.timer = setTimeout(() => {console.log(this)this.autoAddStart()}, 1000);},endAddTimer: function () {clearTimeout(this.timer)this.timer = null;this.autoAddEnd()}}})
</script></html>

Vue实现组件——可以长按加/减号自增和自减的输入框相关推荐

  1. 【Vue.js】Vue.js组件库Element中的单选框、多选框、输入框和计数器

    1.Radio 单选框 基础用法 由于选项默认可见,不宜过多,若选项过多,建议使用 Select 选择器. 要使用 Radio 组件,只需要设置v-model绑定变量,选中意味着变量的值为相应 Rad ...

  2. vue 动态组件名_vue动态加载组件mounted无法获取dom的解决思路

    有时我们在mouted方法中想通过id读取到一个dom元素,虽然官方并不推荐这种方法来操作dom.但难免有碰到这种情况,如下面 一个dom元素 试图在mouted中获取 试图在nextick中获取 结 ...

  3. VUE2.0 饿了么学习笔记(10)加减号组件cartcontrol

    创建cartcontrol组件,组件关联到food的相关属性,价格,数量等,所以组件要props父组件goods传过来的food数据 export default {//父组件传过来的,接收一个pro ...

  4. Vue.js实战——封装长按能量条火箭发射动画组件_17

    一.目标 按照项目需求,需要完成如下几部分的功能: 1.长按屏幕时,显示能量条动画(类似环形进度条): 2.当能量条充满时,发射小火箭: 二.实现效果 三.步骤 按照需求分析,上述目标可以拆解成3个功 ...

  5. Vue—核心概念—异步组件和路由懒加载

    原文地址:Vue 异步组件&路由懒加载 目录 异步组件 异步组件介绍 异步组件声明 高级异步组件 路由懒加载 路由懒加载介绍 路由懒加载方法 把组件按组分块 异步组件 异步组件介绍 在开发大型 ...

  6. vue 根据组件地址动态加载异步组件

    要求:根据列表中配置的组件地址,动态加载组件(webpart) vue 根据组件地址动态加载异步组件 目录结构 index.html components/component1 components/ ...

  7. vue 父组件重新加载子组件

    vue 父组件重新加载子组件 通过 给子组件添加key或者v-if 重新加载子组件: html: <button @click="update">更新</butt ...

  8. 269_长按加号减号快速加减

    长按加号减号快速加减 //减号长按的话就快速加减         tv_jianhao.setOnTouchListener(new View.OnTouchListener() {         ...

  9. 前端框架Vue:组件之间的通信、插槽的使用

    Vue组件与插槽 一.组件化开发思想 组件化规范 Web Components 我们希望尽可能多的重用的代码 自定义组件的方式不太容易(html,js ,css) 多次使用组件可能导致冲突 二.组件注 ...

最新文章

  1. 警惕!新版Net Transport(影音传送带)安装有猫腻
  2. android中一个解决办法
  3. Vuetable-2使用全纪录
  4. [Java][web]利用Spring随时随地获得Request和Session
  5. 将Banner美观的放置于博客首页上
  6. Java基本数据类型之char
  7. 专升本英语——应试题型突破——翻译——固定搭配【学习笔记】
  8. 工作日志,常见的统计解决方案
  9. MATLAB图像融合分割系统
  10. [TOG2022]DCT-Net: Domain-Calibrated Translation for Portrait Stylization
  11. 【人脸识别】基于PCA和SVM的人脸识别关键技术研究与实现附matlab代码
  12. linux bash d,bashd的基本特性及文本操作命令
  13. 小船过河(贪心算法)
  14. mysql中如何查看表结构
  15. 正则表达式 行首行尾替换
  16. 网络安全--keytool CA签名SSL证书(收费)
  17. windows 总是弹出 windows installer 安装, 并且关不了的解决方法
  18. 网络安全——缓冲区溢出攻击
  19. 【Java基础】Java的继承和多态
  20. 计算机一级考试相关书,全国计算机一级考试考什么?怎么考?有书吗?

热门文章

  1. Linux-权限管理应用实例(警察与土匪游戏)
  2. python开源数字识别_[转]:手写数字识别系统之数字提取
  3. 2021年高考每科成绩查询失分情况,阅卷组长曝光各科失分原因,2021高考必看!...
  4. 【每日早报】2019/06/10
  5. Unity组件_车轮碰撞器
  6. KPI是怎样凑出来的?​
  7. ACM 数学类题目推荐
  8. linux4 sd卡驱动,在Linux上,如何格式化USB驱动器和SD卡
  9. 12、ADS使用记录之功分器设计
  10. UE4中窗口模式切换