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


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广告代码
May 30 Javascript
jquery api参考 visualjquery 中国线路 速度快
Nov 30 Javascript
javascript动态改变img的src属性图片不显示的解决方法
Oct 20 Javascript
jQuery源码分析-03构造jQuery对象-工具函数
Nov 14 Javascript
JavaScript中计算网页中某个元素的位置
Jun 10 Javascript
jquery实现鼠标悬浮停止轮播特效
Aug 20 Javascript
jQuery数据检索中根据关键字快速定位GridView指定行的实现方法
Jun 08 Javascript
Angular.js 实现数字转换汉字实例代码
Jul 14 Javascript
JS简单实现查看文档创建日期、修改日期和文档大小的方法示例
Apr 08 Javascript
js 根据对象数组中的属性进行排序实现代码
Sep 12 Javascript
浅谈vuex为什么不建议在action中修改state
Feb 02 Javascript
JS数组的常用方法整理
Mar 31 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获取某个月最大天数(最后一天)的方法
2015/07/29 PHP
PHP可变变量学习小结
2015/11/29 PHP
在Mac OS上自行编译安装Apache服务器和PHP解释器
2015/12/24 PHP
PHP中常见的密码处理方式和建议总结
2018/10/14 PHP
js中indexof的用法详细解析
2013/12/24 Javascript
js(JavaScript)实现TAB标签切换效果的简单实例
2014/02/26 Javascript
Javascript的&amp;&amp;和||的另类用法
2014/07/23 Javascript
理解Javascript文件动态加载
2016/01/29 Javascript
JS通过Cookie判断页面是否为首次打开
2016/02/05 Javascript
JS模拟bootstrap下拉菜单效果实例
2016/06/17 Javascript
jQuery回到顶部的代码
2016/07/09 Javascript
WebPack基础知识详解
2017/01/16 Javascript
vue v-model实现自定义样式多选与单选功能
2018/07/05 Javascript
微信{"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"}
2018/10/12 Javascript
详解处理Vue单页面应用SEO的另一种思路
2018/11/09 Javascript
JavaScript数据结构与算法之检索算法示例【二分查找法、计算重复次数】
2019/02/22 Javascript
Vue Echarts实现可视化世界地图代码实例
2019/05/07 Javascript
jquery分页优化操作实例分析
2019/08/23 jQuery
jQuery实现可编辑的表格
2019/12/11 jQuery
Vue如何基于es6导入外部js文件
2020/05/15 Javascript
在python的类中动态添加属性与生成对象
2016/09/17 Python
使用k8s部署Django项目的方法步骤
2019/01/14 Python
Python3实现从排序数组中删除重复项算法分析
2019/04/03 Python
python中使用np.delete()的实例方法
2021/02/01 Python
百联网上商城:i百联
2017/01/28 全球购物
类的核心特性有哪些
2014/01/01 面试题
95%的面试官都会问到的50道Java线程题,附答案
2012/08/03 面试题
2014道德模范事迹材料
2014/02/16 职场文书
个人实习生的自我评价
2014/02/16 职场文书
小学生元旦感言
2014/02/26 职场文书
学习型班组申报材料
2014/05/31 职场文书
大学生求职信例文
2014/06/29 职场文书
初中优秀教师事迹材料
2014/08/18 职场文书
python 调用js的四种方式
2021/04/11 Python
Spring Boot项目传参校验的最佳实践指南
2022/04/05 Java/Android
CentOS MySql8 远程连接实战
2022/04/19 MySQL