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


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操纵Cookie实现购物车程序
Nov 23 Javascript
ExtJs之带图片的下拉列表框插件
Mar 04 Javascript
javascript常用对话框小集
Sep 13 Javascript
js实现鼠标经过表格行变色的方法
May 12 Javascript
js数组去重的5种算法实现
Nov 04 Javascript
javascript insertAfter()定义与用法示例
Jul 25 Javascript
Jquery组件easyUi实现手风琴(折叠面板)示例
Aug 23 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
Sep 26 Javascript
javascript之with的使用(阿里云、淘宝使用代码分析)
Oct 11 Javascript
搭建Bootstrap离线文档的方法
Dec 02 Javascript
jQuery延迟执行的实现方法
Dec 21 Javascript
关于vue中watch检测到不到对象属性的变化的解决方法
Feb 08 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
了解咖啡雨林联盟认证 什么是雨林认证 雨林认证是什么意思
2021/03/05 新手入门
php常用正则函数实例小结
2016/12/29 PHP
Laravel框架在本地虚拟机快速安装的方法详解
2018/06/11 PHP
PHP容器类的两种实现方式示例
2019/07/24 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
2019/10/15 PHP
取得一定长度的内容,处理中文
2006/12/20 Javascript
js 通过html()及text()方法获取并设置p标签的显示值
2014/05/14 Javascript
jQuery使用元素属性attr赋值详解
2015/02/27 Javascript
用JavaScript判断CSS浏览器类型前缀的两种方法
2015/10/08 Javascript
跟我学习javascript的prototype,getPrototypeOf和__proto__
2015/11/17 Javascript
jQuery文件上传控件 Uploadify 详解
2016/06/20 Javascript
基于vue中css预加载使用sass的配置方式详解
2018/03/13 Javascript
新版vue-cli模板下本地开发环境使用node服务器跨域的方法
2018/04/03 Javascript
微信小程序生成分享海报方法(附带二维码生成)
2019/03/29 Javascript
Vue 实现复制功能,不需要任何结构内容直接复制方式
2019/11/09 Javascript
在vue和element-ui的table中实现分页复选功能
2019/12/04 Javascript
[16:14]教你分分钟做大人:米拉娜(HEROS)
2014/11/24 DOTA
Python linecache.getline()读取文件中特定一行的脚本
2008/09/06 Python
用python实现的可以拷贝或剪切一个文件列表中的所有文件
2009/04/30 Python
详解Python中的array数组模块相关使用
2016/07/05 Python
关于Python元祖,列表,字典,集合的比较
2017/01/06 Python
python2.7安装图文教程
2018/03/13 Python
python用插值法绘制平滑曲线
2021/02/19 Python
使用tensorflow显示pb模型的所有网络结点方式
2020/01/23 Python
Python yield的用法实例分析
2020/03/06 Python
django自带的权限管理Permission用法说明
2020/05/13 Python
利用python下载scihub成文献为PDF操作
2020/07/09 Python
使用phonegap进行本地存储的实现方法
2017/03/31 HTML / CSS
Canon佳能美国官方商店:购买数码相机、数码单反相机、镜头和打印机
2016/11/15 全球购物
出国留学自荐信
2013/10/25 职场文书
超市开店计划书
2014/04/26 职场文书
机电专业毕业生求职信
2014/07/01 职场文书
2014最新房贷收入证明范本
2014/09/12 职场文书
先进工作者申报材料
2014/12/23 职场文书
外贸业务员岗位职责
2015/02/13 职场文书
SONY AN-LP1 短波有源天线放大器
2021/04/22 无线电