微信小程序圆形进度条倒计时效果
2018-02-22 14:44
363 查看
效果如下图:
var initNum = 7; //倒计时数var spaceNum = 1000; //文字倒计时间隔var space =1000; //环倒计时间隔
一、封装canvas画圆环
begin: - (1 / 2 * Math.PI), pai2: 2 * Math.PI, //canvas画圆环 drawRang: function (precent) { var windowWidth = wx.getSystemInfoSync().windowWidth; var poaitionX = wx.getSystemInfoSync().windowWidth/2; var cxt_arc = this.cxt_arc; cxt_arc.setLineWidth(10); cxt_arc.setStrokeStyle('#ffffff'); cxt_arc.setLineCap('round') cxt_arc.beginPath();//开始一个新的路径 cxt_arc.arc(poaitionX, 30, 24, 0, this.pai2, false);//设置一个原点(106,106),半径为100的圆的路径到当前路径 cxt_arc.stroke();//对当前路径进行描边 var end = this.pai2 * precent +this.begin ; if (precent==0){ end = this.pai2 * + this.begin } else if (1 == precent){ cxt_arc.setFillStyle('white'); cxt_arc.setFontSize(25); cxt_arc.fillText(this.data.countdownNum, poaitionX - 7, 40); cxt_arc.draw(); return ; } cxt_arc.setLineWidth(6); cxt_arc.setStrokeStyle('#F15A47'); cxt_arc.setLineCap('round') cxt_arc.beginPath();//开始一个新的路径 cxt_arc.arc(poaitionX, 30, 24, this.begin, end , true); cxt_arc.stroke();//对当前路径进行描边 cxt_arc.setFillStyle('white'); cxt_arc.setFontSize(25); cxt_arc.fillText(this.data.countdownNum, poaitionX-7, 40); cxt_arc.draw(); },二、倒计时
countdown: function () { var that = this; that.rangRun = 0; clearInterval(that.cuntDownCir); that.cuntDownCir = setInterval(function () { var n=initNum - Math.floor(that.rangRun / spaceNum); var precent = that.rangRun / (initNum * spaceNum); that.setData({ countdownNum: n }); that.drawRang(precent); that.rangRun = that.rangRun + space; if (precent >= 1) { that.data.allowDo=false; clearInterval(that.cuntDownCir); } }, space); },
var initNum = 7; //倒计时数var spaceNum = 1000; //文字倒计时间隔var space =1000; //环倒计时间隔
一、封装canvas画圆环
begin: - (1 / 2 * Math.PI), pai2: 2 * Math.PI, //canvas画圆环 drawRang: function (precent) { var windowWidth = wx.getSystemInfoSync().windowWidth; var poaitionX = wx.getSystemInfoSync().windowWidth/2; var cxt_arc = this.cxt_arc; cxt_arc.setLineWidth(10); cxt_arc.setStrokeStyle('#ffffff'); cxt_arc.setLineCap('round') cxt_arc.beginPath();//开始一个新的路径 cxt_arc.arc(poaitionX, 30, 24, 0, this.pai2, false);//设置一个原点(106,106),半径为100的圆的路径到当前路径 cxt_arc.stroke();//对当前路径进行描边 var end = this.pai2 * precent +this.begin ; if (precent==0){ end = this.pai2 * + this.begin } else if (1 == precent){ cxt_arc.setFillStyle('white'); cxt_arc.setFontSize(25); cxt_arc.fillText(this.data.countdownNum, poaitionX - 7, 40); cxt_arc.draw(); return ; } cxt_arc.setLineWidth(6); cxt_arc.setStrokeStyle('#F15A47'); cxt_arc.setLineCap('round') cxt_arc.beginPath();//开始一个新的路径 cxt_arc.arc(poaitionX, 30, 24, this.begin, end , true); cxt_arc.stroke();//对当前路径进行描边 cxt_arc.setFillStyle('white'); cxt_arc.setFontSize(25); cxt_arc.fillText(this.data.countdownNum, poaitionX-7, 40); cxt_arc.draw(); },二、倒计时
countdown: function () { var that = this; that.rangRun = 0; clearInterval(that.cuntDownCir); that.cuntDownCir = setInterval(function () { var n=initNum - Math.floor(that.rangRun / spaceNum); var precent = that.rangRun / (initNum * spaceNum); that.setData({ countdownNum: n }); that.drawRang(precent); that.rangRun = that.rangRun + space; if (precent >= 1) { that.data.allowDo=false; clearInterval(that.cuntDownCir); } }, space); },
相关文章推荐
- 微信小程序画布圆形进度条显示效果
- 微信小程序实现实时圆形进度条的方法示例
- 微信小程序实现验证码获取倒计时效果
- 微信小程序动态显示项目倒计时效果
- 微信小程序之圆形进度条
- 微信小程序开发:实时圆形进度条实现
- 微信小程序之圆形进度条实现思路
- 微信小程序 —— 验证码获取倒计时效果
- 微信小程序 倒计时组件实现代码
- 微信小程序左滑删除效果的实现
- 微信小程序 跑马灯效果完整代码附效果图
- Android中微信小程序支付倒计时功能
- 微信小程序实现鼠标拖动效果示例
- 微信小程序倒计时组件
- 微信小程序倒计时组件开发
- 微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能
- 微信小程序顶部用 scroll-view 组件横向滚动,类似tab选项卡的效果,
- 微信小程序 特效菜单抽屉效果实例代码
- 微信小程序的动画效果
- 微信小程序倒计时