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


Posted in Javascript onNovember 18, 2020

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

上图:

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

代码:

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;
}

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

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

Javascript 相关文章推荐
JAVASCRIPT实现的WEB页面跳转以及页面间传值方法
May 13 Javascript
artDialog 4.1.5 Dreamweaver代码提示/补全插件 附下载
Jul 31 Javascript
JQuery事件e参数的方法preventDefault()取消默认行为
Sep 26 Javascript
js 自动播放的实例代码
Nov 19 Javascript
node.js中的url.parse方法使用说明
Dec 10 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
May 25 Javascript
AngularJS基础 ng-switch 指令简单示例
Aug 03 Javascript
纯原生js实现table表格的增删
Jan 05 Javascript
Angular 4根据组件名称动态创建出组件的方法教程
Nov 01 Javascript
关于jquery中attr()和prop()方法的区别
May 28 jQuery
如何给element添加一个抽屉组件的方法步骤
Jul 14 Javascript
Vue分页插件的前后端配置与使用
Oct 09 Javascript
JavaScript迭代器的含义及用法
Jun 21 #Javascript
js事件触发操作实例分析
Jun 21 #Javascript
微信小程序实现下拉刷新动画
Jun 21 #Javascript
vue elementUI使用tabs与导航栏联动
Jun 21 #Javascript
Ajax请求时无法重定向的问题解决代码详解
Jun 21 #Javascript
vue配置文件实现代理v2版本的方法
Jun 21 #Javascript
微信小程序自定义多列选择器使用详解
Jun 21 #Javascript
You might like
php获取mysql版本的几种方法小结
2008/03/25 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
JavaScript中关于indexOf的使用方法与问题小结
2010/08/05 Javascript
jQuery动态设置form表单的enctype值(实现代码)
2013/07/04 Javascript
自定义刻度jQuery进度条及插件
2015/09/02 Javascript
js实现遍历含有input的table实例
2015/12/07 Javascript
js获取时间精确到秒(年月日)
2016/03/16 Javascript
基于jQuery实现顶部导航栏功能
2016/12/27 Javascript
BootStrapValidator初使用教程详解
2017/02/10 Javascript
JavaScript之生成器_动力节点Java学院整理
2017/06/30 Javascript
Nodejs模块载入运行原理
2018/02/23 NodeJs
nodejs+mongodb aggregate级联查询操作示例
2018/03/17 NodeJs
vue左右侧联动滚动的实现代码
2018/06/06 Javascript
React中阻止事件冒泡的问题详析
2019/04/12 Javascript
微信小程序rich-text富文本用法实例分析
2019/05/20 Javascript
[42:32]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.27
2020/12/01 DOTA
Python中文件操作简明介绍
2015/04/13 Python
python生成式的send()方法(详解)
2017/05/08 Python
python实现用户管理系统
2018/01/10 Python
Python实现合并两个有序链表的方法示例
2019/01/31 Python
Python日期时间Time模块实例详解
2019/04/15 Python
Python2和3字符编码的区别知识点整理
2019/08/08 Python
Python爬取智联招聘数据分析师岗位相关信息的方法
2019/08/13 Python
对tensorflow中cifar-10文档的Read操作详解
2020/02/10 Python
python 爬虫之selenium可视化爬虫的实现
2020/12/04 Python
HTML5 Canvas 实现圆形进度条并显示数字百分比效果示例
2017/08/18 HTML / CSS
阿迪达斯加拿大官网:Adidas加拿大
2016/08/25 全球购物
《宿建德江》教学反思
2014/04/23 职场文书
全国优秀辅导员事迹材料
2014/05/14 职场文书
英语教师个人总结
2015/02/09 职场文书
销售业务员岗位职责
2015/02/13 职场文书
担保贷款承诺书
2015/04/30 职场文书
Vue CLI中模式与环境变量的深入详解
2021/05/30 Vue.js
Python Pandas数据分析之iloc和loc的用法详解
2021/11/11 Python
nginx共享内存的机制详解
2022/03/21 Servers
MYSQL常用函数介绍
2022/05/05 MySQL