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


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算法学习(直接插入排序)
Apr 12 Javascript
javascript unicode与GBK2312(中文)编码转换方法
Nov 14 Javascript
js浮点数精确计算(加、减、乘、除)
Dec 26 Javascript
javascript实现鼠标拖动改变层大小的方法
Apr 30 Javascript
jQuery判断一个元素是否可见的方法
Jun 05 Javascript
AngularJs Understanding the Model Component
Sep 02 Javascript
vue.js实现数据动态响应 Vue.set的简单应用
Jun 15 Javascript
浅谈vue项目优化之页面的按需加载(vue+webpack)
Dec 11 Javascript
Angular6笔记之封装http的示例代码
Jul 27 Javascript
详解Vue源码中一些util函数
Apr 24 Javascript
Node.JS用纯JavaScript生成图片或滑块式验证码功能
Sep 12 Javascript
js判断复选框是否选中的方法示例【基于jQuery】
Oct 10 jQuery
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图片加水印原理(超简单的实例代码)
2013/01/18 PHP
php查找任何页面上的所有链接的方法
2013/12/03 PHP
php的instanceof和判断闭包Closure操作示例
2020/01/26 PHP
关于使用runtimeStyle属性问题讨论文章
2007/03/08 Javascript
JavaScript在XHTML中的用法详解
2013/04/11 Javascript
jquery 层次选择器siblings与nextAll的区别介绍
2013/08/02 Javascript
javascript日期对象格式化为字符串的实现方法
2014/01/14 Javascript
js函数参数设置默认值的一种变通实现方法
2014/05/26 Javascript
JS验证IP,子网掩码,网关和MAC的方法
2015/07/02 Javascript
jQuery实现的产品自动360度旋转展示特效源码分享
2015/08/21 Javascript
跟我学习javascript的undefined与null
2015/11/17 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
2017/03/31 Javascript
详解nodejs微信公众号开发——4.自动回复各种消息
2017/04/11 NodeJs
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
2017/10/26 Javascript
如何将你的AngularJS1.x应用迁移至React的方法
2018/02/01 Javascript
Node.js搭建WEB服务器的示例代码
2018/08/15 Javascript
react-router4按需加载(踩坑填坑)
2019/01/06 Javascript
10分钟学会js处理json的常用方法
2020/12/06 Javascript
详解Python中的Cookie模块使用
2015/07/06 Python
在Pycharm中设置默认自动换行的方法
2019/01/16 Python
Python实现一个数组除以一个数的例子
2019/07/20 Python
keras绘制acc和loss曲线图实例
2020/06/15 Python
css3边框_动力节点Java学院整理
2017/07/11 HTML / CSS
即时搜索数百万张门票:SeatsForEveryone.com
2018/08/26 全球购物
Bluebella美国官网:英国性感内衣品牌
2018/10/04 全球购物
自主招生自荐信指南
2014/02/04 职场文书
开学典礼感言
2014/02/16 职场文书
合作协议书格式
2014/08/19 职场文书
2015年教务处干事工作总结
2015/07/22 职场文书
运动员代表致辞
2015/07/29 职场文书
企业法律事务工作总结
2015/08/11 职场文书
小学五年级(说明文3篇)
2019/08/13 职场文书
职场新人知识:如何制定一份合理的工作计划?
2019/09/11 职场文书
python 如何将两个实数矩阵合并为一个复数矩阵
2021/05/19 Python
MongoDB连接数据库并创建数据等使用方法
2021/11/27 MongoDB
vue router 动态路由清除方式
2022/05/25 Vue.js