怎么在微信小程序中实现一个圆形进度条动画

发布时间:2021-04-16 16:35:53 作者:Leah
来源:亿速云 阅读:327

本篇文章给大家分享的是有关怎么在微信小程序中实现一个圆形进度条动画,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

js:

//获取应用实例
var app = getApp()

var interval;
var varName;
var ctx = wx.createCanvasContext('canvasArcCir');

Page({
 data: {
 },
 drawCircle: function () {
 clearInterval(varName);
 function drawArc(s, e) {
  ctx.setFillStyle('white');
  ctx.clearRect(0, 0, 200, 200);
  ctx.draw();
  var x = 100, y = 100, radius = 96;
  ctx.setLineWidth(7);
  ctx.setStrokeStyle('#BFEFFF');
  ctx.setLineCap('round');
  ctx.beginPath();
  ctx.arc(x, y, radius, s, e, false);
  ctx.stroke()
  ctx.draw()
 }
 var step = 1, startAngle = 1.5 * Math.PI, endAngle = 0;
 var animation_interval = 1000, n = 60;
 var animation = function () {
  if (step <= n) {
  endAngle = step * 8 * Math.PI / n + 1.5 * Math.PI;
  drawArc(startAngle, endAngle);
  step++;
  } else {
  clearInterval(varName);
  }
 };
 varName = setInterval(animation, animation_interval);
 },
 onReady: function () {
 //创建并返回绘图上下文context对象。
 var cxt_arc = wx.createCanvasContext('canvasCircle');
 cxt_arc.setLineWidth(8);
 cxt_arc.setStrokeStyle('#EDEDED');
 cxt_arc.setLineCap('round');
 cxt_arc.beginPath();
 cxt_arc.arc(100, 100, 96, 0, 2 * Math.PI, false);
 cxt_arc.stroke();
 cxt_arc.draw();
 },
 onLoad: function (options) {

 }
})

wxml:

<view class="wrap">
 <view class="circle-box">
 <canvas class="circle"  canvas-id="canvasArcCir">
 </canvas>
 <canvas class="circle"  canvas-id="canvasCircle">
 </canvas>
 <view class="draw_btn" bindtap="drawCircle">点击开始</view>
 </view>
</view>

wxss:

page {
 width: 100%;
 height: 100%;
 background-color: #fff;
}

.circle-box {
 text-align: center;
 margin-top: 10vw;
}

.circle {
 position: absolute;
 left: 0;
 right: 0;
 margin: auto;
}

.draw_btn {
 width: 28vw;
 position: absolute;
 top: 31vw;
 right: 0;
 left: 0;
 margin: auto;
 border: 1px #0D0D0D solid;
 background-color: #BFEFFF;
 border-radius: 5vw;
}

以上就是怎么在微信小程序中实现一个圆形进度条动画,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

推荐阅读:
  1. 怎么在微信小程序中实现一个按钮点击动画效果
  2. 微信小程序如何实现动画弹窗组件

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

微信小程序

上一篇:使用JavaScript怎么实现一个倒计时秒杀效果

下一篇:使用C++怎么实现一个带监视哨的顺序查找算法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》