微信小程序之MaterialDesign--input组件详解


Posted in Javascript onFebruary 15, 2017

主要通过input输入事件配合css的transform动态改变实现这种效果。

实际调试过程中,input组件bindinput事件触发后回调的detail对象,在模拟器中含有cursor属性,在真机中(测过安卓,ios没测过)却没有该属性,最后选择detail对象中的value属性的值的长度来同步输入的位数。

bindfocus事件最好不要添加改变css的代码 。

预览图片:

微信小程序之MaterialDesign--input组件详解

微信小程序之MaterialDesign--input组件详解

JS:

//index.js
//获取应用实例
var app = getApp()
Page({
 data: {
  v_username_border:'', //用户输入框底部border样式
  v_pwd_border:'', // 密码输入框底部border样式
  v_float_username:'', // 浮动文字字transform 样式
  v_float_pwd:'',
  num_current_un:0, // 当前输入的文本位数
  sp_num_current_un:'', // 当前输入文本位数超过限制时的样式
  isPwdError:false // 提交时 密码输入错误时的文本提示
 },
 onLoad: function () {
  console.log('onLoad')
 },
 // 用户名输入框获取焦点时事件回调
 usernameFocus:function(e){
  var that = this;
  console.log(e.detail)
 },
 // 用户名输入框输入时事件回调
 usernameInput:function(e){
  console.log(e.detail)
   this.setData({
   v_username_border:'border-bottom:1px solid red',
   num_current_un:e.detail.value.length
  })
  if(e.detail.value.length!=0){
    this.setData({
    v_float_username:'color:red ;transform: translateY(-18.5px)',
    sp_num_current_un:'color:lightseagreen;'
   })
   if(e.detail.value.length>20){
    this.setData({
     sp_num_current_un:'color:orangered;'
    })
   }
  }else{
   this.setData({
    v_float_username:'transform: translateY(0px)',
   })
  }
 },
 // // 用户名输入框失去焦点时回调
 usernameBlur:function(e){
  console.log("onBlur")
   this.setData({
   v_username_border:'border-bottom:1px solid grey'
  })
 },
 pwdFocus:function(e){
  console.log('onFocus')
 },
 pwdInput:function(e){
  this.setData({
   v_pwd_border:'border-bottom:1px solid red',
   isPwdError:false
  })
  console.log(e.detail)
  if(e.detail.value.length!=0){
   this.setData({
    v_float_pwd:'color:red ; transform: translateY(-18.5px)',
   })
  }else{
   this.setData({
    v_float_pwd:'transform: translateY(0px)',
   })
  }
 },
  pwdBlur:function(e){
  console.log("onBlur")
   this.setData({
   v_pwd_border:'border-bottom:1px solid grey; '
  })
 },
// 登录按钮模拟表单提交 可用form组件代替
 onLogin:function(e){
  this.setData({
   isPwdError:true
  })
 }
})

源码地址:We-MaterialDesign_3water.rar

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Cookie 注入是怎样产生的
Apr 08 Javascript
Javascript 汉字字节判断
Aug 01 Javascript
js实现连个数字相加而不是拼接的方法
Feb 23 Javascript
node.js中的fs.rename方法使用说明
Dec 16 Javascript
jQuery使用fadeout实现元素渐隐效果的方法
Mar 27 Javascript
JavaScript监听文本框回车事件并过滤文本框空格的方法
Apr 16 Javascript
jquery判断复选框选中状态以及区分attr和prop
Dec 18 Javascript
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
May 12 Javascript
jQuery实现的小图列表,大图展示效果幻灯片示例
Oct 25 Javascript
使用JavaScript解决网页图片拉伸问题(推荐)
Nov 25 Javascript
基于Vue实现支持按周切换的日历
Sep 24 Javascript
React Native时间转换格式工具类分享
Oct 24 Javascript
Bootstrap table简单使用总结
Feb 15 #Javascript
原生js轮播(仿慕课网)
Feb 15 #Javascript
微信小程序 image组件binderror使用例子与js中的onerror区别
Feb 15 #Javascript
Canvas实现放射线动画效果
Feb 15 #Javascript
微信小程序 开发经验整理
Feb 15 #Javascript
bootstrap table操作技巧分享
Feb 15 #Javascript
利用n 升级工具升级Node.js版本及在mac环境下的坑
Feb 15 #Javascript
You might like
深入php define()函数以及defined()函数的用法详解
2013/06/05 PHP
PHP同时连接多个mysql数据库示例代码
2014/03/17 PHP
PHP+APACHE实现网址伪静态
2015/02/22 PHP
laravel实现Auth认证,登录、注册后的页面回跳方法
2019/09/30 PHP
jquery 实现的全选和反选
2009/04/15 Javascript
jquery $.ajax()取xml数据的小问题解决方法
2010/11/20 Javascript
纯js写的分页表格数据为json串
2014/02/18 Javascript
基于jquery实现的文字向上跑动类似跑马灯的效果
2014/06/17 Javascript
用javascript关闭本窗口不弹出询问框的方法
2014/09/12 Javascript
jquery动态分页效果堪比时光网
2014/09/25 Javascript
jQuery实现瀑布流布局
2014/12/12 Javascript
jquery中ready()函数执行的时机和window的load事件比较
2015/06/22 Javascript
在WordPress中加入Google搜索功能的简单步骤讲解
2016/01/04 Javascript
jQuery表单验证简单示例
2016/10/17 Javascript
微信小程序 出现错误:{"baseresponse":{"errcode":-80002,"errmsg":""}}解决办法
2017/02/23 Javascript
详解.vue文件中监听input输入事件(oninput)
2017/09/19 Javascript
AngularJS 教程及实例代码
2017/10/23 Javascript
Angular angular-file-upload文件上传的示例代码
2018/08/23 Javascript
详解element-ui动态限定的日期范围选择器代码片段
2020/07/03 Javascript
vue-cli3配置favicon.ico和title的流程
2020/10/27 Javascript
python paramiko实现ssh远程访问的方法
2013/12/03 Python
django实现登录时候输入密码错误5次锁定用户十分钟
2017/11/05 Python
Python中join函数简单代码示例
2018/01/09 Python
python增加矩阵维度的实例讲解
2018/04/04 Python
提升python处理速度原理及方法实例
2019/12/25 Python
opencv之为图像添加边界的方法示例
2019/12/26 Python
python中PyQuery库用法分享
2021/01/15 Python
HTML5新特性之type=file文件上传功能
2018/02/02 HTML / CSS
什么是ESB?请介绍一下ESB?
2015/05/27 面试题
抽奖活动主持词
2014/03/31 职场文书
考试作弊被抓检讨书
2014/10/02 职场文书
2014年银行工作总结范文
2014/11/12 职场文书
员工评语范文
2014/12/31 职场文书
税务会计岗位职责
2015/04/02 职场文书
服务员岗位职责范本
2015/04/09 职场文书
阿里云服务器部署RabbitMQ集群的详细教程
2022/06/01 Servers