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


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四种调用模式和this示例介绍
Jan 02 Javascript
js中匿名函数的创建与调用方法分析
Dec 19 Javascript
浅谈JavaScript function函数种类
Dec 29 Javascript
javascript实现仿IE顶部的可关闭警告条
May 05 Javascript
jquery实现漫天雪花飞舞的圣诞祝福雪花效果代码分享
Aug 20 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
Dec 08 Javascript
js前端日历控件(悬浮、拖拽、自由变形)
Mar 02 Javascript
使用jquery的cookie实现登录页记住用户名和密码的方法
Mar 13 jQuery
vue 路由子组件created和mounted不起作用的解决方法
Nov 05 Javascript
Javascript原生ajax请求代码实例
Feb 20 Javascript
JavaScript 装逼指南(js另类写法)
May 10 Javascript
javaScript实现一个队列的方法
Jul 14 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下HTTP Response中的Chunked编码实现方法
2008/11/19 PHP
smarty中先strip_tags过滤html标签后truncate截取文章运用
2010/10/25 PHP
php设计模式之简单工厂模式详解
2014/09/04 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
PHP定义字符串的四种方式详解
2018/02/06 PHP
PHP实现将上传图片自动缩放到指定分辨率,并保持清晰度封装类示例
2019/06/17 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
2019/09/03 PHP
javascript 多级checkbox选择效果
2009/08/20 Javascript
javascript中call和apply方法浅谈
2013/09/27 Javascript
探讨javascript是不是面向对象的语言
2013/11/21 Javascript
跟我学习javascript的prototype,getPrototypeOf和__proto__
2015/11/17 Javascript
html5+javascript实现简单上传的注意细节
2016/04/18 Javascript
web前端开发upload上传头像js示例代码
2016/10/22 Javascript
浅谈jQuery绑定事件会叠加的解决方法和心得总结
2016/10/26 Javascript
使用vue实现点击按钮滑出面板的实现代码
2017/01/10 Javascript
vue如何集成raphael.js中国地图的方法示例
2017/08/15 Javascript
Angular搜索 过滤 批量删除 添加 表单验证功能集锦(实例代码)
2017/10/25 Javascript
动态加载权限管理模块中的Vue组件
2018/01/16 Javascript
Vue 3.x+axios跨域方案的踩坑指南
2019/07/04 Javascript
微信小程序wx.request拦截器使用详解
2019/07/09 Javascript
vue数据响应式原理知识点总结
2020/02/16 Javascript
[01:05:24]Ti4 冒泡赛第二天 iG vs NEWBEE 3
2014/07/15 DOTA
python基础教程之lambda表达式使用方法
2014/02/12 Python
python时间整形转标准格式的示例分享
2014/02/14 Python
Python中的rfind()方法使用详解
2015/05/19 Python
Python实现判断字符串中包含某个字符的判断函数示例
2018/01/08 Python
浅谈python日志的配置文件路径问题
2018/04/28 Python
python PIL和CV对 图片的读取,显示,裁剪,保存实现方法
2019/08/07 Python
如何把外网python虚拟环境迁移到内网
2020/05/18 Python
Django crontab定时任务模块操作方法解析
2020/09/10 Python
CSS3中的clip-path使用攻略
2015/08/03 HTML / CSS
幼儿园教师工作制度
2014/01/22 职场文书
个人三严三实对照检查材料
2014/09/25 职场文书
公司仓管员岗位职责
2015/04/01 职场文书
赢在中国观后感
2015/06/02 职场文书
Python字符串常规操作小结
2022/04/03 Python