值得记录的 (三)
2018-11-12 06:50:05来源:博客园 阅读 ()
函数防抖
使用函数节流实现防止用户多次快速点击后触发事件。
// 多次点击节流防抖 function debounce(func, wait = 500) { let timeout; return function (event) { clearTimeout(timeout); timeout = setTimeout(() => { func.call(this, event) }, wait); }; }
短信验证码
WXML
<view class="phone_area"> <view class="phone_area_number"> <view class="phone_area_title">请输入手机号:</view> <input class="phone_area_input" bindinput="bindnumbervalue" maxlength="11">{{phone_number}}</input> </view> <view class="phone_area_code"> <view class="phone_area_title">请输入验证码:</view> <input class="phone_area_input" bindinput="bindcodevalue" maxlength="4">{{phone_code}}</input> <view class="get_code_button" bindtap='verification'>{{phone_code_text}}</view> </view> </view>
JS
验证码倒计时模块,(可能有误,后续待测试)
Page({ data: { // 手机验证码 phone_number: '', // 手机号 phone_code_text: '获取验证码', // 按钮提示信息 phone_code: '', // 验证码 status: true, }, // 手机输入 bindnumbervalue(event){ this.setData({ phone_number: event.detail.value }) }, // 验证码功能 bindcodevalue(event){ this.setData({ phone_code: event.detail.value }) }, // 点击获取验证码 并添加 debounce 节流防抖 verification: debounce(function(e){ if((this.data.phone_number).length !== 11){ wx.showToast({ title: '请输入正确的手机号', icon: 'none' }) return } // 此处需要调用api接口, 假设返回 code 0 ,成功. 返回其他 return console.log(this.data.status) if (this.data.status === false) { return } var _this = this var code_number = 60 // 定义 60 秒的倒计时 var code_value = setInterval(function () { _this.setData({ phone_code_text: '重新获取' + (--code_number) + 's', status: false }) if (code_number == 0) { clearInterval(code_value) _this.setData({ phone_code_text: '获取验证码', status: true, }) } }, 1000) }), })
wx-if
wx-if
结合 new Date()
实现条件渲染
双 11 活动信息弹窗广告倒计时 background,通过
wx-if
结合new Date()
实现格式化实现最后三天自行判断。省去了双 11 期间重新修改代码上传版本的不必要操作。并且在活动最后一天自动消失,之后再删除冗余代码重新迭代版本即可。
onLoad: function () { var timeDay = new Date().getDate(); var timeMonth = new Date().getMonth() var timeYear = new Date().getFullYear(); this.setData({ timeDay: timeDay, timeMonth: timeMonth + 1, timeYear: timeYear, }); },
<!-- 活动时间 --> <view wx-if="{{timeYear === 2018 && timeMonth === 11 && timeDay === 9}}" class="newBg" hidden="{{hiddenName}}"> <image src='https://xxx-xxxxxx.cos.ap-chengdu.myqcloud.com/11bg-3.png'></image> <view class="close" catchtap='closeBg'>关闭 {{sec}}</view> </view> <view wx-if="{{timeYear === 2018 && timeMonth === 11 && timeDay === 10}}" class="newBg" hidden="{{hiddenName}}"> <image src='https://xxx-xxxxxx.cos.ap-chengdu.myqcloud.com/11bg-2.png'></image> <view class="close" catchtap='closeBg'>关闭 {{sec}}</view> </view> <view wx-if="{{timeYear === 2018 && timeMonth === 11 && timeDay === 11}}"> <image src='https://xxx-xxxxxx.cos.ap-chengdu.myqcloud.com/11bg-1.png'></image> <view class="close" catchtap='closeBg'>关闭 {{sec}}</view> </view>
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:原型以及原型链的学习随笔
- JavaScript函数表达式详解及实例 2020-03-25
- 带你了解JavaScript中的函数 2020-03-08
- 详谈构造函数加括号与不加括号的区别 2020-01-17
- JavaScript匿名函数与委托使用示例 2020-01-07
- JavaScript中的apply和call函数详解 2020-01-07
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash