1.先看效果图:
2.目录结构:
3.点击此处前往码云下载此组件源码若觉得好用,记得star一个哦
4.调用组件的index文件
//index.jsconstappgetApp()Page({data:{},myEventListener:function(e){//获取到组件的返回值,并将其打印console.log('是否验证通过:'+e.detail.msg)}})//index.json{"usingComponents":{"sliders":"/sliders/sliders"}}!--index.wxml--slidersbindmyevent"myEventListener"/sliders5.滑动验证组件部分代码:
//sliders.jsComponent({/***组件的属性列表*/properties:{},/***组件的初始数据*/data:{hint:'右滑验证',//默认提示语sysW:wx.getSystemInfoSync().windowWidth,//获取屏幕宽度xAxial:0,//X轴的初始值x:0,//触摸时X轴的值w:(wx.getSystemInfoSync().windowWidth*0.8)-50,//滑块可移动的X轴范围cssAnimation:'translate3d(0,0,0)',//CSS动画的初始值succeedMsg:'',//验证成功提示信息的默认值pullStatus:true,//是否允许验证成功后继续滑动},/***组件的方法列表*/methods:{//滑块移动中执行的事件moveFun:function(e){//如果验证成功后仍允许滑动,则执行下面代码块(初始值默认为允许)if(this.data.pullStatus){//设置X轴的始点this.data.xe.changedTouches[0].clientX-((this.data.sysW*0.1)+25);//如果触摸时X轴的坐标大于可移动距离则设置元素X轴的坐标等于可移动距离的最大值,否则元素X轴的坐标等于等于当前触摸X轴的坐标this.data.xthis.data.w?this.data.xAxialthis.data.w:this.data.xAxialthis.data.x;//如果触摸时X轴的坐标小于设定的始点,则将元素X轴的坐标设置为0if(this.data.x25)this.data.xAxial0;//根据获取到的X轴坐标进行动画演示this.data.cssAnimation'translate3d('+this.data.xAxial+'px,0,0)';this.setData({cssAnimation:this.data.cssAnimation})}},//松开滑块执行的事件endFun:function(){//自定义组件触发事件时提供的detail对象vardetail{};//如果触摸的X轴坐标大于等于限定的可移动范围,则验证成功if(this.data.xthis.data.w){//元素X轴坐标等于可移动范围的最大值this.data.xAxialthis.data.w;//设置验证成功提示语this.data.succeedMsg'验证成功';//设置detail对象的返回值detail.msgtrue;//验证成功后,禁止滑块滑动this.data.pullStatusfalse;}else{//元素X轴坐标归0this.data.xAxial0;//清空验证成功提示语this.data.succeedMsg'';//设置detail对象的返回值detail.msgfalse;}//使用triggerEvent事件,将绑定在此组件的myevent事件,将返回值传递过去this.triggerEvent('myevent',detail);//根据获取到的X轴坐标进行动画演示this.data.cssAnimation'translate3d('+this.data.xAxial+'px,0,0)';this.setData({succeedMsg:this.data.succeedMsg,cssAnimation:this.data.cssAnimation})}}})//sliders.json{"component":true,"usingComponents":{}}!--sliders.wxml--viewclass"slidersBox"text{{hint}}/textviewclass'operationBgBox'style'left:{{-(w+2)}}px;transform:{{cssAnimation}}'text{{succeedMsg}}/textviewclass'operationBox'catchtouchmove'moveFun'catchtouchend'endFun'imagesrc'../images/line.png'/image/view/view/view/*sliders.wxss*/.slidersBox{width:80%;height:120rpx;border:1pxsolid#ccc;border-radius:5px;margin:0auto;text-align:center;line-height:120rpx;font-size:32rpx;position:relative;overflow:hidden;}.operationBgBox{height:120rpx;width:100%;background-color:#7BBB55;border-radius:5px;overflow:hidden;position:absolute;top:0;color:#fff;}.operationBox{height:120rpx;width:50px;background-color:#EBEBEB;display:flex;align-items:center;justify-content:center;position:absolute;right:0;top:0;}.operationBoximage{width:50%;height:50%;}
微信小程序-自定义组件之滑动验证组件-小程序图片滑块验证码-小程序图形验证码
浏览量:4295
时间:
来源:豆i浆
版权声明
即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。
最新资讯
-

即速应用,赋能企业玩转微信小程序智慧经营
作为国内领军的智慧商业经营服务商,即速应用始终秉承“让每个企业都拥有自己的智慧店铺”的愿景,持续赋能更多企业玩转智慧经营。即速应用旗下拥有“小程序搭建工具-即速应用”、“私域流量专家-即客云”等产品,帮助商家打通互联网全生态营销闭环。 -

即客云2.0重磅更新,让微信小程序运营更简单!
即客云作为一款基于企业微信的第三方工具,现从多维度提供超过30种功能,自上线以来,已服务多家企业,受到一致好评。近期,我们根据客户反馈和市场调研正式推出升级版 即客云2.0!更新了私域运营SOP,群日历功能,批量拓客,客户雷达,消息推送,个人欢迎语,帮助企业更好运用企业微信;同时提升了社群运营工作标准化,提升运营效率,帮助企业实现客户增长,玩转私域流量。 -

零代码 + AI 双轮驱动|即速应用解锁人工智能小程序开发新范式
无需代码、无需 AI 算法功底,普通人也能快速搭建智能小程序。即速应用将人工智能与零代码开发深度融合,推出 AI 智能生成能力,用户通过自然语言描述需求,AI 自动生成小程序页面、功能模块与后台配置,覆盖商城、预约、同城、社区团购等全场景。平台内置 AI 智能推荐、智能客服、用户画像分析等能力,一键对接微信生态,打通视频号、企业微信、短信跳转,帮企业快速落地 AI 应用,抢占智慧经营先机,让每家企业都拥有 AI 驱动的智慧店铺。










