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


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实例教程(19) 使用HoTMetal(5)
Dec 23 Javascript
左右悬浮可分组的网站QQ在线客服代码(可谓经典)
Dec 21 Javascript
js实现目录定位正文示例
Nov 14 Javascript
javascript中普通函数的使用介绍
Dec 19 Javascript
如何设置一定时间内只能发送一次请求
Feb 28 Javascript
javascript 中that的含义示例介绍
May 14 Javascript
javascript制作的cookie封装及使用指南
Jan 02 Javascript
基于javascript实现tab选项卡切换特效调试笔记
Mar 30 Javascript
基于jQuery实现火焰灯效果导航菜单
Jan 04 Javascript
Node.js中的cluster模块深入解读
Jun 11 Javascript
使用element-ui +Vue 解决 table 里包含表单验证的问题
Jul 17 Javascript
ant-design表单处理和常用方法及自定义验证操作
Oct 27 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的十大要点(上)
2009/02/04 PHP
phpMyAdmin链接MySql错误 个人解决方案
2009/12/28 PHP
PHP+jQuery+Ajax实现用户登录与退出
2015/04/27 PHP
PHP查看SSL证书信息的方法
2016/09/22 PHP
php 运算符与表达式详细介绍
2016/11/30 PHP
PHP 加密 Password Hashing API基础知识点
2020/03/02 PHP
JavaScript 替换Html标签实现代码
2009/10/14 Javascript
ASP.NET jQuery 实例6 (实现CheckBoxList成员全选或全取消)
2012/01/13 Javascript
JS禁用浏览器退格键实现思路及代码
2013/10/29 Javascript
一个简单的jQuery计算器实现了连续计算功能
2014/07/21 Javascript
js 数组去重的四种实用方法
2014/09/09 Javascript
javascript实现控制的多级下拉菜单
2015/07/05 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
2016/06/15 Javascript
jQuery购物网页经典制作案例
2016/08/19 Javascript
利用Angularjs和原生JS分别实现动态效果的输入框
2016/09/01 Javascript
jQuery实现的导航下拉菜单效果示例
2016/09/05 Javascript
vue 组件高级用法实例详解
2018/04/11 Javascript
vue车牌号校验和银行校验实战
2019/01/23 Javascript
Javascript表单序列化原理及实现代码详解
2020/10/30 Javascript
Python实现加载及解析properties配置文件的方法
2018/03/29 Python
Python简单过滤字母和数字的方法小结
2019/01/09 Python
Python比较配置文件的方法实例详解
2019/06/06 Python
Python scipy的二维图像卷积运算与图像模糊处理操作示例
2019/09/06 Python
python多继承(钻石继承)问题和解决方法简单示例
2019/10/21 Python
将python安装信息加入注册表的示例
2019/11/20 Python
h5封装下拉刷新
2020/08/25 HTML / CSS
Halston Heritage官网:简洁的日装,稍显奢华的晚装
2018/11/20 全球购物
程序员经常用到的UNIX命令
2015/04/13 面试题
财务会计毕业生自荐信
2013/11/02 职场文书
一句话工作感言
2014/03/01 职场文书
关键在于落实心得体会
2014/09/03 职场文书
2014年电工工作总结
2014/11/20 职场文书
还款承诺书范本
2015/01/20 职场文书
陈斌强事迹观后感
2015/06/17 职场文书
适合青年人白手起家的创业项目分享
2019/08/16 职场文书
JVM上高性能数据格式库包Apache Arrow入门和架构详解(Gkatziouras)
2021/05/26 Servers