明霞山资源网 Design By www.htccd.com
本文实例为大家分享了vue实现移动端H5数字键盘组件的使用代码,供大家参考,具体内容如下
我们平时扫码付款的时候,经常会输入一些数字进行付款,仔细看了下键盘和系统的键盘有点不一样,于是今天买甘蔗的时候扫码付款就想了一下要怎么去实现一个。话不多说,直接上代码。
结果如下:
代码如下:
<template>
<div class="keyboard-wrapper">
<input type="text" v-model="NUM" @focus="show = true" onfocus="this.blur()"/>
<div class="keyboard" v-if="show">
<div class="num">
<table>
<tr>
<td @click="change(1)" :class="[active === 1 " @touchstart="msDown(1)" @touchend="msUp(1)">1</td>
<td @click="change(2)" :class="[active === 2 " @touchstart="msDown(2)" @touchend="msUp(2)">2</td>
<td @click="change(3)" :class="[active === 3 " @touchstart="msDown(3)" @touchend="msUp(3)">3</td>
<td rowspan="2" class="del" @click="del">×</td>
</tr>
<tr>
<td @click="change(4)" :class="[active === 4 " @touchstart="msDown(4)" @touchend="msUp(4)">4</td>
<td @click="change(5)" :class="[active === 5 " @touchstart="msDown(5)" @touchend="msUp(5)">5</td>
<td @click="change(6)" :class="[active === 6 " @touchstart="msDown(6)" @touchend="msUp(6)">6</td>
</tr>
<tr>
<td @click="change(7)" :class="[active === 7 " @touchstart="msDown(7)" @touchend="msUp(7)">7</td>
<td @click="change(8)" :class="[active === 8 " @touchstart="msDown(8)" @touchend="msUp(8)">8</td>
<td @click="change(9)" :class="[active === 9 " @touchstart="msDown(9)" @touchend="msUp(9)">9</td>
<td rowspan="2" class="comfirm" @click="comfirm">确定</td>
</tr>
<tr>
<td colspan="2" @click="change(0)" :class="[active === 0 " @touchstart="msDown(0)" @touchend="msUp(0)">0</td>
<td colspan="1" @click="change('.')" :class="[active === '.' " @touchstart="msDown('.')" @touchend="msUp('.')">.</td>
</tr>
</table>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'App',
data () {
return {
active: null,
show: false,
NUM: '',
result: []
};
},
computed: {
// 统计打中的地鼠数量
num: function () {
return this.result.join('');
}
},
created () {
},
mounted () {
},
methods: {
msDown (v) {
this.active = v;
},
msUp (v) {
this.active = '';
},
stopInput () {
return false;
},
change (val, $event) {
if (this.result.length === 0 && val === '.') {
return false;
} else {
this.result.push(val);
this.NUM = this.result.join('');
}
},
del () {
this.result.pop();
this.NUM = this.result.join('');
this.$emit('del', this.NUM);
},
comfirm () {
this.$emit('comfirm', this.NUM);
this.show = false;
}
}
};
</script>
<style lang="less" scoped>
.keyboard-wrapper {
user-select: none;
input {
width:100%;
height:50px;
font-size:25px;
}
.keyboard {
position: fixed;
bottom: 0;
width: 100%;
.num {
table {
width: 100%;
border: 1px solid #ccc;
border-collapse: collapse;
background: #fff;
td {
height: 50px;
vertical-align: middle;
color: #333;
font-size: 20px;
border: 1px solid #ccc;
text-align: center;
}
td.active{
background:#ccc;
}
.del {
background: #eee;
}
.comfirm {
font-size: 16px;
width: 80px;
background: #118eeb;
color: #fff;
}
}
}
}
}
</style>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
明霞山资源网 Design By www.htccd.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
明霞山资源网 Design By www.htccd.com
暂无评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
