CSS3移动动画
transition: .3s all ease;
.tmall .tmall-tabbodys {
width: 100%;
position: absolute;
left: 0px;
transition: .7s all ease;
}
动果切换带有运营商校验
<!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>
<style>
*{padding:0;margin:0;box-sizing:border-box}
.row{display:flex;flex-direction:row}
.tmall{width:290px;padding:10px 20px 0px;background:#ffffff;position:relative;border:1px solid #ccc}
.tmall{width:290px;padding:10px 20px 0px;background:#ffffff;position:relative}
.tmall .tmall-tabs .tab{padding:3px 10px;font-size:14px;color:#666}
.tmall .tmall-tabs .tab.current{color:#FF4300}
.tmall-tabbody-container{width:100%;height:300px;overflow:hidden;position:relative;margin-top:15px}
.tmall .tmall-tabbodys .tabbody{min-width:250px;width:250px;padding-top:4px}
.tmall .tmall-tabbodys .tabbody .input-group{width:188px}
.space-between{justify-content:space-between}
.tmall .tmall-tabbodys{width:100%;position:absolute;left:0px;transition:.3s all ease;margin-top:20px}
.input{height:26px;border:1px solid #cccccc;position:relative}
.input input.hasricon{padding:4px 20px 4px 6px}
.input .tip{height:24px;font-size:12px;color:#cccccc;position:absolute;top:0;right:26px}
.center{display:flex;justify-content:center;align-items:center}
.iconfont{font-family:"iconfont" !important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:0.2px;-moz-osx-font-smoothing:grayscale}
.input .ricon{width:26px;height:24px;color:#cccccc;position:absolute;top:0;right:0}
.input input.hasricon{padding:4px 20px 4px 6px}
.input input{padding:4px 6px}
.input input{color:#000000;font-size:12px}
.fill{width:100%;height:100%}
input{border:none;outline:none;display:block}
.input .select-option{position:absolute;top:24px;left:-1px;color:#000000;background:#fafafa;width:-webkit-calc(100% + 2px);border:1px solid #cccccc;border-bottom:none}
.input .select-option li:nth-child(odd){border-right:1px solid #a9a9a9}
.input .select-option li{width:50%;height:30px;font-size:14px;float:left;border-bottom:1px solid #a9a9a9}
.input .select-option li span{font-weight:bold}
.input .select-option li:hover{background:#a9a9a9;color:#ffffff}
.input:hover{border:1px solid #a9a9a9;color:#000000;z-index:999}
.pointer{cursor:pointer}
.input-group .button{border:none;border-radius:2px;padding:0;height:27px;width:68px;line-height:27px;background:#ff4200;font-size:12px;font-weight:700;color:#fff}
.input-group .price span{color:#f60;font-weight:700;font-family:verdana,arial}
.input-group .price{font-size:14px;padding:5px 0;color:#666666}
</style>
</head>
<body>
<!-- 知识点:动画,@click赋值, -->
<div id="app">
<div id="tmall" class="tmall">
<div class="tmall-tabs row space-between">
<div class="tab pointer" v-for = 'value,index in tabs' :class="{'current':index == cur}" @click = 'cur = index'
>{{value}}</div>
</div>
<div class="tmall-tabbody-container">
<div class="input">
<input type="text" placeholder="请输入手机号码" class="fill hasricon" v-model="mobile">
<div class="tip center"><i class="iconfont"></i>{{getSP(mobile)}}</div>
<div class="ricon center"><i class="iconfont"></i></div>
</div>
<div class="tmall-tabbodys row space-between" :style = "{left:-250*cur+'px'}">
<div class="tabbody">
<div class="input-group">
<div class="input mg-1 pointer" @click="listShow=true">
<input type="text" disabled="disabled" class="fill hasricon pointer" :value="curAmount+'元'">
<div class="ricon pointer center"><i class="iconfont">^</i></div> <div class="select-option" v-show ="listShow">
<ul>
<li class="center" v-for ="amount in amountList"
@click.stop = 'curAmount = amount;listShow=false;'><span>{{amount}}</span>元</li>
</ul>
</div>
</div>
<div class="price">售价:¥<span v-if = "curAmount"> {{curAmount!=0?curAmount-0.1:curAmount}} 元</span></div>
<div class="button pointer center">立即充值</div>
</div>
</div>
<div class="tabbody"><div class="input-group">222</div></div>
<div class="tabbody"><div class="input-group">333</div></div>
<div class="tabbody"><div class="input-group">444</div></div>
</div>
</div>
</div>
</div>
</body>
<script src="vue2.js"></script>
<script type="text/javascript">
var vm = new Vue({
el:'#app',
data:{
tabs:['充话费','充流量','充固话','充宽带'],
amountList: [10, 20, 30, 50, 100, 200, 300, 500, 1000, 2000],
cur:0,
mobile:'',
curAmount:0,
listShow:false,
},
methods:{
getSP(str){
if(str.length!=11){
return '';
}else{
if(/^((13[5-9])|(15[01289]))/.test(str)){
return '中国移动';
}else if(/^(13[0-2])/.test(str)){
return '中国联通';
}else if(/^(18[01])/.test(str)){
return '中国电信';
}else if(/^170/.test(str)){
return '虚拟运营商';
}else{
return '未知';
}
}
},
}
})
</script>
</html>

注意:当@click嵌套时,最里边的@click点击是无效的,解决里边@click.stop阻止冒泡
<div @click="listShow=true">
<div @click.stop = 'curAmount = amount;'></div>
</div>
运营商规则:
移动:
134X(0-8)、135、136、137、138、139、150、151、152、157X(0-7\9)(TD)、158、159、182 、183、184、187(3G\4G)、188(3G)147(数据卡)、178(4G) 联通:
130、131、132、155、156、185(3G)、186(3G) 、145(数据卡)、176(4G) 电信:
180(3G)、181(3G)、189(3G)、133、153、(1349卫通) 、177(4G) 虚拟运营商:
170
CSS3移动动画的更多相关文章
- CSS3 @keyframes 动画
CSS3的@keyframes,它可以取代许多网页动画图像,Flash动画,和JAVAScripts. CSS3的动画属性 下面的表格列出了 @keyframes 规则和所有动画属性: 浏览器支持 表 ...
- 使用css3的动画模拟太阳系行星公转
本文介绍使用css3的animation画一个太阳系行星公转的动画,再加以改进,讨论如何画椭圆的运行轨迹.然后分析京东和人人网使用animation的实际案例,最后结合css3的clip-path做一 ...
- css3中动画(transition)和过渡(animation)详析
css3中动画(transition)和过渡(animation)详析
- css3 animation动画特效插件的巧用
这一个是css3 animation动画特效在线演示的网站 https://daneden.github.io/animate.css/ 下载 animate.css文件,文件的代码很多,不过要明白 ...
- CSS3简单动画
css3的动画确实非常绚丽!浏览器兼容性很重要!. 分享两个小动画 <!doctype html> <html lang="en"> <head> ...
- css3常用动画+动画库
一.animates.css animate.css是来自dropbox的工程师Daniel Eden开发的一款CSS3的动画效果小类库.包含了60多款不同类型的CSS3动画,包括:晃动,闪动,各种淡 ...
- css3 animation动画技巧
一,css3 animation动画前言 随着现在浏览器对css3的兼容性越来越好,使用css3动画来制作动画的例子也越来越广泛,也随着而来带来了许多的问题值得我们能思考.css3动画如何让物体运动更 ...
- 8款超酷而实用的CSS3按钮动画
1.CSS3分享按钮动画特效 这是一款基于CSS3的社会化分享按钮,按钮非常简单,提供了分享到twitter.facebook.youtube等大型社交网站.每一个分享按钮都有个大社交网站的Logo图 ...
- 9种jQuery和css3图片动画特效代码演示
1.自由旋转的jQuery图片 演示和下载地址 2.css3阴影动画效果 演示和下载地址 3.拉窗帘特效图片 演示和下载地址 4.css3文字特效动画 演示和下载地址 5.css3时钟代码 演示和下载 ...
- CSS3展现精彩的动画效果 css3的动画属性
热火朝天的css3无疑吸引了很多前端开发者的眼球,然而在css3中的动画属性则是新功能中的主打招牌,说到css3的动画属性不得不让人想起这三个属性:Transform﹑Transition﹑Anima ...
随机推荐
- python 中文分词工具
python 中文分词工具 jieba,https://github.com/fxsjy/jieba jieba_fast,https://github.com/deepcs233/jieba_fas ...
- keras小点记录
Keras学习小点记录 1.axis(轴) (1)解释 参考链接:https://www.zhihu.com/question/58993137 (2)测试 参考链接:http://keras-cn. ...
- Kubernetes监控手册-01体系概述
Kubernetes 监控体系驳杂,涉及到的内容非常多,总是感觉摸不到头绪,网上虽然有很多资料,都略显凌乱,没有一个体系化的讲解,今天开始,我们准备撰写一系列文章,把 Kubernetes 监控说透, ...
- LFU 的设计与实现
LFU 的设计与实现 作者:Grey 原文地址: 博客园:LFU 的设计与实现 CSDN:LFU 的设计与实现 题目描述 LFU(least frequently used).即最不经常使用页置换算法 ...
- [编程基础] Python列表解析总结
在本教程中,我们将学习使用Python列表解析(list comprehensions)相关知识 1 使用介绍 列表解析是一种基于现有列表创建列表的句法结构.列表解析提供了创建列表的简洁方法.通常需要 ...
- 【FAQ】推送服务常见问题及解决方案
一.推送成功收不到消息,推送返回:{"message":"success","requestID":"1523868*****28 ...
- Maui Blazor 使用摄像头实现
Maui Blazor 使用摄像头实现 由于Maui Blazor中界面是由WebView渲染,所以再使用Android的摄像头时无法去获取,因为原生的摄像头需要绑定界面组件 所以我找到了其他的实现方 ...
- [C++]全面理解C++中的引用
一.引用的本质是什么 说到引用,一般C++的教材中都是这么定义的: 1,引用就是一个对象的别名. 2,引用不是值不占内存空间. 3,引用必须在定义时赋值,将变量与引用绑定. 那你有没有想过,上面的定义 ...
- TCP\ip 地址总结
127.0.0.1 本地回环地址,一般用于测试网卡是否正常工作 192.168.1.0 代表网络地址一个网络段 192.168.1.1-254 可用网络地址 192.168.1.255 广播地址!
- 图文并茂解决Client does not support authentication protocol requested by server; consider upgrading MySQL
今天服务器部署node.js+mysql,调用接口报错ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protoc ...