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


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 显示当前系统时间代码
Dec 28 Javascript
js 获取子节点函数 (兼容FF与IE)
Apr 18 Javascript
js中使用DOM复制(克隆)指定节点名数据到新的XML文件中的代码
Jul 27 Javascript
Js+Flash实现访问剪切板操作
Nov 20 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
Jan 16 Javascript
jquery图片放大功能简单实现
Aug 01 Javascript
JavaScript实现给按钮加上双重动作的方法
Aug 14 Javascript
原生JS实现幻灯片
Feb 22 Javascript
详解webpack2+node+react+babel实现热加载(hmr)
Aug 24 Javascript
js实现GIF动图分解成多帧图片上传
Oct 24 Javascript
解决vue+ element ui 表单验证有值但验证失败问题
Jan 16 Javascript
JavaScript实现图片伪异步上传过程解析
Apr 10 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 中的4种标记风格介绍
2012/05/10 PHP
用来解析.htgroup文件的PHP类
2012/09/05 PHP
PHP常见过waf webshell以及最简单的检测方法
2019/05/21 PHP
JavaScript 函数replace深入了解
2013/03/14 Javascript
javascript判断两个IP地址是否在同一个网段的实现思路
2013/12/13 Javascript
jquery删除指定子元素代码实例
2015/01/13 Javascript
JQuery插件Quicksand实现超炫的动画洗牌效果
2015/05/03 Javascript
使用jquery+CSS3实现仿windows10开始菜单的下拉导航菜单特效
2015/09/24 Javascript
jQuery获取字符串中出现最多的数
2016/02/22 Javascript
javascript 广告移动特效的实现代码
2016/06/25 Javascript
使用BootStrap和Metroui设计的metro风格微网站或手机app界面
2016/10/21 Javascript
JS正则表达式修饰符global(/g)用法分析
2016/12/27 Javascript
JS中from 表单序列化提交的代码
2017/01/20 Javascript
Vue 过渡(动画)transition组件案例详解
2017/01/22 Javascript
jQuery插件zTree实现的基本树与节点获取操作示例
2017/03/08 Javascript
node.js实现登录注册页面
2017/04/08 Javascript
jQuery niceScroll滚动条错位问题的解决方法
2018/02/03 jQuery
React精髓!一篇全概括小结(急速)
2019/05/23 Javascript
jquery实现自定义树形表格的方法【自定义树形结构table】
2019/07/12 jQuery
用Node写一条配置环境的指令
2019/11/14 Javascript
用webAPI实现图片放大镜效果
2020/11/23 Javascript
python进阶教程之文本文件的读取和写入
2014/08/29 Python
matplotlib在python上绘制3D散点图实例详解
2017/12/09 Python
Python解析命令行读取参数--argparse模块使用方法
2018/01/23 Python
Django框架实现逆向解析url的方法
2018/07/04 Python
对python列表里的字典元素去重方法详解
2019/01/21 Python
Python3模拟curl发送post请求操作示例
2019/05/03 Python
python pandas获取csv指定行 列的操作方法
2019/07/12 Python
Python 可变类型和不可变类型及引用过程解析
2019/09/27 Python
如何用python 操作zookeeper
2020/12/28 Python
CSS3 实现穿梭星空动画
2020/11/13 HTML / CSS
管理学专业个人求职信范文
2013/12/13 职场文书
优秀导游先进事迹材料
2014/01/25 职场文书
优秀中职教师事迹材料
2014/08/26 职场文书
2019财务管理制度最新范本!
2019/07/09 职场文书
Python Pandas常用函数方法总结
2021/06/15 Python