微信小程序实现圆形进度条动画

 更新时间:2020年11月18日 08:56:37   作者:CodeHunter_qcy  
这篇文章主要为大家详细介绍了微信小程序实现圆形进度条动画,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了微信小程序动画之圆形进度条,供大家参考,具体内容如下

上图:

代码:

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" style="width:200px; height:200px;" canvas-id="canvasArcCir">
 </canvas>
 <canvas class="circle" style="z-index: -5; width:200px; height:200px;" 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;
}

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Chrome调试折腾记之JS断点调试技巧

    Chrome调试折腾记之JS断点调试技巧

    这篇文章主要介绍了Chrome调试折腾记之JS断点调试技巧,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • 微信小程序上传多图到服务器并获取返回的路径

    微信小程序上传多图到服务器并获取返回的路径

    这篇文章主要介绍了微信小程序上传多图到服务器并获取返回的路径,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • bootstrap css样式之表单

    bootstrap css样式之表单

    这篇文章主要为大家详细介绍了bootstrap css样式之表单的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • BootStrap中的table实现数据填充与分页应用小结

    BootStrap中的table实现数据填充与分页应用小结

    这篇文章主要介绍了BootStrap中的table实现数据填充与分页功能的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-05-05
  • javascript实现json页面分页实例代码

    javascript实现json页面分页实例代码

    这篇文章主要介绍了javascript实现json页面分页实例代码,需要的朋友可以参考下
    2014-02-02
  • 分享11个常用JavaScript小技巧

    分享11个常用JavaScript小技巧

    在我们的日常开发过程中,我们经常会遇到数字与字符串转换,检查对象中是否存在对应值,条件性操作对象数据,过滤数组中的错误值,等等这类处理。本文整理出了一些常用的小技巧,希望大家能喜欢
    2022-06-06
  • js获取隐藏元素的宽高

    js获取隐藏元素的宽高

    本文主要介绍了使用js获取隐藏元素宽高的解决方案以及代码思路,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • 利用JavaScript实现一个日期范围选择器

    利用JavaScript实现一个日期范围选择器

    日期范围选择器是一个常见的Web应用功能,它允许用户选择一个日期范围,本文我们将使用JavaScript来实现这个功能,感兴趣的小伙伴可以了解下
    2024-01-01
  • bootstrap和jQuery.Gantt的css冲突 如何解决

    bootstrap和jQuery.Gantt的css冲突 如何解决

    这篇文章主要介绍了bootstrap和jQuery.Gantt的css冲突,本文给出了解决冲突的解决方法,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • 基于postman获取动态数据过程详解

    基于postman获取动态数据过程详解

    这篇文章主要介绍了基于postman获取动态数据过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09

最新评论