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


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 对话框和状态栏使用说明
Oct 25 Javascript
JQuery弹出层示例可自定义
May 19 Javascript
基于jquery实现发送文章到手机的代码
Dec 26 Javascript
js判断当前页面用什么浏览器打开的方法
Jan 06 Javascript
微信小程序 自己制作小组件实例详解
Dec 22 Javascript
谈谈第三方App接入微信登录 解读
Dec 27 Javascript
VUE中的无限循环代码解析
Sep 22 Javascript
Vue2.0设置全局样式(less/sass和css)
Nov 18 Javascript
Angular 封装并发布组件的方法示例
Apr 19 Javascript
vue动态循环出的多个select出现过的变为disabled(实例代码)
Nov 10 Javascript
在微信小程序中使用mqtt服务的方法
Dec 13 Javascript
vue打开新窗口并实现传参的图文实例
Mar 04 Vue.js
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
window+nginx+php环境配置 附配置搭配说明
2010/12/29 PHP
ecshop 2.72如何修改后台访问地址
2015/03/03 PHP
Windows下编译PHP5.4和xdebug全记录
2015/04/03 PHP
php常用图片处理类
2016/03/16 PHP
php使用gearman进行任务分发操作实例详解
2020/02/26 PHP
基于jquery的一个浮动框(扩展性比较好 )
2010/08/27 Javascript
让你的博文自动带上缩址的实现代码,方便发到微博客上
2010/12/28 Javascript
解决JS浮点数运算出现Bug的方法
2013/03/12 Javascript
Jquery动态添加及删除页面节点元素示例代码
2014/06/16 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
JS控制层作圆周运动的方法
2016/06/20 Javascript
浅谈JS正则表达式的RegExp对象和括号的使用
2016/07/28 Javascript
Jquery获取当前城市的天气信息
2016/08/05 Javascript
纯css下拉菜单 无需js
2016/08/15 Javascript
jQuery实现鼠标选中文字后弹出提示窗口效果【附demo源码】
2016/09/05 Javascript
vue 和vue-touch 实现移动端左右导航效果(仿京东移动站导航)
2017/04/22 Javascript
基于substring()和substr()的使用以及区别(实例讲解)
2017/12/28 Javascript
NodeJS简单实现WebSocket功能示例
2018/02/10 NodeJs
vue+elementUI实现表单和图片上传及验证功能示例
2019/05/14 Javascript
微信小程序云开发(数据库)详解
2019/05/17 Javascript
js判断在哪个浏览器打开项目的方法
2020/01/21 Javascript
JQuery获得内容和属性方法解析
2020/05/30 jQuery
antd中table展开行默认展示,且不需要前边的加号操作
2020/11/02 Javascript
让Vue响应Map或Set的变化操作
2020/11/11 Javascript
Python 迭代器与生成器实例详解
2017/05/18 Python
python回调函数中使用多线程的方法
2017/12/25 Python
python微信跳一跳系列之自动计算跳一跳距离
2018/02/26 Python
浅谈tensorflow1.0 池化层(pooling)和全连接层(dense)
2018/04/27 Python
使用python实现数组、链表、队列、栈的方法
2019/12/20 Python
使用pickle存储数据dump 和 load实例讲解
2019/12/30 Python
在 Python 中使用 MQTT的方法
2020/08/18 Python
迷你分体式空调:SoGoodToBuy
2018/08/07 全球购物
Sunglass Hut巴西网上商店:男女太阳镜
2020/10/04 全球购物
计生办班子群众路线教育实践活动个人对照检查材料思想汇报
2014/10/04 职场文书
火烧圆明园观后感
2015/06/03 职场文书
教你利用Selenium+python自动化来解决pip使用异常
2021/05/20 Python