微信小程序之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 相关文章推荐
JS实现打开本地文件或文件夹
Mar 09 Javascript
JQuery中each()的使用方法说明
Aug 19 Javascript
jQuery EasyUI API 中文文档 - Draggable 可拖拽
Sep 29 Javascript
jQuery判断checkbox是否选中的3种方法
Aug 12 Javascript
jQuery中parents()和parent()的区别分析
Oct 28 Javascript
jQuery常用数据处理方法小结
Feb 20 Javascript
javascript cookie的简单应用
Feb 24 Javascript
jquery实现轮播图效果
Feb 13 Javascript
Vue学习笔记进阶篇之单元素过度
Jul 19 Javascript
利用JS制作万年历的方法
Aug 16 Javascript
layui中layer前端组件实现图片显示功能的方法分析
Oct 13 Javascript
基于layui实现高级搜索(筛选)功能
Jul 26 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
PHP4中实现动态代理
2006/10/09 PHP
dede3.1分页文字采集过滤规则详说(图文教程)续二
2007/04/03 PHP
php中base_convert()进制数字转换函数实例
2014/11/20 PHP
PHP简单获取视频预览图的方法
2015/03/12 PHP
php从完整文件路径中分离文件目录和文件名的方法
2015/03/13 PHP
PHP统计当前在线用户数实例讲解
2015/10/21 PHP
JavaScript Archive Network 集合
2007/05/12 Javascript
基于Jquery的标签智能验证实现代码
2010/12/27 Javascript
jquery 添加节点的几种方法介绍
2013/09/04 Javascript
jquerydom对象的事件隐藏显示和对象数组示例
2013/12/10 Javascript
js浮点数精确计算(加、减、乘、除)
2013/12/26 Javascript
JS运动框架之分享侧边栏动画实例
2015/03/03 Javascript
JavaScript获取网页支持表单字符集的方法
2015/04/02 Javascript
15个非常实用的JavaScript代码片段
2016/12/18 Javascript
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
2017/05/08 jQuery
原生js 封装get ,post, delete 请求的实例
2017/08/11 Javascript
在 Angular中 使用 Lodash 的方法
2018/02/11 Javascript
Vue路由模块化配置的完整步骤
2019/08/14 Javascript
使用layui前端框架弹出form表单以及提交的示例
2019/10/25 Javascript
NodeJs crypto加密制作token的实现代码
2019/11/15 NodeJs
React实现类似淘宝tab居中切换效果的示例代码
2020/06/02 Javascript
[01:32]DOTA2次级联赛——首支职业女子战队选拔赛全记录
2014/10/23 DOTA
python基础教程之实现石头剪刀布游戏示例
2014/02/11 Python
在Python中关于中文编码问题的处理建议
2015/04/08 Python
python获取目录下所有文件的方法
2015/06/01 Python
Python中input与raw_input 之间的比较
2017/08/20 Python
Python入门之三角函数全解【收藏】
2017/11/08 Python
Python利用Django如何写restful api接口详解
2018/06/08 Python
简单了解Python matplotlib线的属性
2019/06/29 Python
Numpy中ndim、shape、dtype、astype的用法详解
2020/06/14 Python
Python依赖包迁移到断网环境操作
2020/07/13 Python
新奥尔良珠宝:Mignon Faget
2020/11/23 全球购物
数控专业大学生的自我鉴定
2013/11/13 职场文书
小松树教学反思
2014/02/11 职场文书
书香校园活动方案
2014/02/28 职场文书
校长新学期寄语2016
2015/12/04 职场文书