获取验证码,出现倒计时

1. 实现效果

目标效果:点击“获取验证码”,出现60s倒计时,按钮置灰不可再次点击,60s后可重新点击获取,效果如下:

定时器元素,一个页面存在一个该元素就够了,可以添加多个定时器,页面显示时会隐藏该元素,data--intervalcontrol属性绑定在变量intervalcontrol,通过改变变量_vm.intervalcontrol来控制定时器的启动和关闭,格式为对象数组,例如:[{"intervalName1":"start"},{"intervalName2":"stop"}]
2. 实现步骤

(1) 插入按钮

插入按钮,将按钮文字改为“点击发送验证码”,将按钮id设为a100 。右键点击按钮→逻辑→逻辑→当某个元素:当前元素→发生某事:单击→则某元素:当前元素→产生某效果:添加类→额外参数:hide→额外逻辑:绑定数据编程→高级编辑: var a = {"intervalName1":"start"}; _vm.intervalcontrol("[" + JSON.stringify(a) + "]");。

当前元素→单击→其他元素:#a200→删除类:hide。

(2) 插入定时器

将定时器id设置为dingshiqi 。

右键点击定时器→定时器属性:定时器名称-intervalName1;时间间隔-1000;循环次数-60;起始循环次数-0;定时器状态-关闭;触发自定义事件-interval1.ww。

右键点击定时器→逻辑→逻辑:当前元素→其他事件:interval1.ww→额外逻辑:绑定数据编程→高级编辑: console.log("1111111"); var a = _vm.text(); a = parseInt(a); a--; _vm.text(a);。

右键点击定时器→逻辑→数据绑定→绑定模式:属性绑定→绑定参数: {"data--intervalcontrol":intervalcontrol} 绑定变量初始化: {"intervalcontrol":"[]"}。

(3) 插入倒计时按钮

id设为a200,插入时不勾选激活,class中输入hide。

右键点击按钮→逻辑→逻辑。

其他元素:#dingshiqi→其他事件:endinterval1.ww→当前元素→添加类:hide。

其他元素:#dingshiqi→其他事件:endinterval1.ww→其他元素:#a100→删除类:hide→额外逻辑→绑定数据编程→高级编辑: _vm.intervalcontrol("[]");_vm.text("60");。

(4) 设置计时数

将计时按钮上的文本改为60,右键点击文本→逻辑→数据绑定:绑定模式:文本内容绑定→绑定参数:text。

3. 视频演示