小程序自定义圆形进度条


Posted in Javascript onNovember 17, 2020

本文实例为大家分享了小程序自定义圆形进度条的具体代码,供大家参考,具体内容如下

circle.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: 35vw;
 position: absolute;
 top: 33vw;
 right: 0;
 left: 0;
 margin: auto;
 border: 1px #000 solid;
 border-radius: 5vw;
}

circle.wxml:

<view class="wrap">
 <view class="circle-box">
 <canvas class="circle" style="z-index: -99; width:200px; height:200px;" canvas-id="canvasCircle">
 </canvas>
 <canvas class="circle" style="width:200px; height:200px;" canvas-id="canvasArcCir">
 </canvas>
 <view class="draw_btn">
 <view>80分</view>
 <view>(满分100分)</view>
 </view>
 </view>
</view>

circle.js:

// pages/circle/circle.js
//获取应用实例
const app = getApp()
var ctx = wx.createCanvasContext('canvasArcCir');
Page({

 /**
 * 页面的初始数据
 */
 data: {

 },
 drawCircle: function() {
 function drawArc(s, e) {
 ctx.setFillStyle('white');
 ctx.clearRect(0, 0, 200, 200);
 ctx.draw();
 var x = 100,
 y = 100,
 radius = 96;
 ctx.setLineWidth(5);
 ctx.setStrokeStyle('#d81e06');
 ctx.setLineCap('round');
 ctx.beginPath();
 //圆心的 x,y坐标,radius半径 s:起始弧度,单位弧度(在3点钟方向) e:终止弧度,:false弧度的方向是否是逆时针
 ctx.arc(x, y, radius, s, e, false);
 ctx.stroke()
 ctx.draw()
 }
 var step = 70,
 startAngle = 1.5 * Math.PI,
 endAngle = 0,
 n = 100,
 endAngle = step * 2 * Math.PI / n + 1.5 * Math.PI;
 drawArc(startAngle, endAngle);

 },
 /**
 * 生命周期函数--监听页面加载
 */
 onLoad: function(options) {
 //调用画圆的方法
 this.drawCircle()
 },
 /**
 * 生命周期函数--监听页面初次渲染完成
 */
 onReady: function() {
 //创建并返回绘图上下文context对象。
 var cxt_arc = wx.createCanvasContext('canvasCircle');
 cxt_arc.setLineWidth(6);
 cxt_arc.setStrokeStyle('#eaeaea');
 cxt_arc.setLineCap('round');
 cxt_arc.beginPath();
 cxt_arc.arc(100, 100, 96, 0, 2 * Math.PI, false);
 cxt_arc.stroke();
 cxt_arc.draw();
 },
})

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js日期时间补零的小例子
Mar 05 Javascript
jquery用get实现ajax在ie里面刷新不进入后台解决方法
Aug 12 Javascript
浅谈JavaScript字符串拼接
Jun 25 Javascript
AngularJS 基础ng-class-even指令用法
Aug 01 Javascript
Vue.js系列之项目结构说明(2)
Jan 03 Javascript
Bootstrap页面缩小变形的快速解决办法
Feb 03 Javascript
JS实现线性表的顺序表示方法示例【经典数据结构】
Apr 11 Javascript
详解AngularJS ng-class样式切换
Jun 27 Javascript
react-redux中connect的装饰器用法@connect详解
Jan 13 Javascript
vue弹出框组件封装实例代码
Oct 31 Javascript
详解如何使用React Hooks请求数据并渲染
Oct 18 Javascript
jQuery实现移动端扭蛋机抽奖
Nov 08 jQuery
浅谈Ant Design Pro 菜单自定义 icon
Nov 17 #Javascript
vue+vant实现购物车全选和反选功能
Nov 17 #Vue.js
vue使用vant中的checkbox实现全选功能
Nov 17 #Vue.js
Antd-vue Table组件添加Click事件,实现点击某行数据教程
Nov 17 #Javascript
解决Antd Table表头加Icon和气泡提示的坑
Nov 17 #Javascript
ant design的table组件实现全选功能以及自定义分页
Nov 17 #Javascript
ant design pro中可控的筛选和排序实例
Nov 17 #Javascript
You might like
PHP系统流量分析的程序
2006/10/09 PHP
php 数学运算验证码实现代码
2009/10/11 PHP
php使用ereg验证文件上传的方法
2014/12/16 PHP
php版微信公众平台之微信网页登陆授权示例
2016/09/23 PHP
js静态作用域的功能。
2006/12/25 Javascript
Asp.net下使用Jquery Ajax传送和接收DataTable的代码
2010/09/12 Javascript
jquery实现的一个简单进度条效果实例
2014/05/12 Javascript
详解AngularJS中的表达式使用
2015/06/16 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
2015/06/26 Javascript
基于Vuejs框架实现翻页组件
2020/06/29 Javascript
有关JS中的0,null,undefined,[],{},'''''''',false之间的关系
2017/02/14 Javascript
Angular.js通过自定义指令directive实现滑块滑动效果
2017/10/13 Javascript
深入浅析Vue中的Prop
2018/06/10 Javascript
微信小程序引用iconfont图标的方法
2018/10/22 Javascript
Node.js 路由的实现方法
2019/06/05 Javascript
node中使用log4js4.x版本记录日志的方法
2019/08/20 Javascript
js遍历详解(forEach, map, for, for...in, for...of)
2019/08/28 Javascript
JS实现简单的表格增删
2020/01/16 Javascript
修改Vue打包后的默认文件名操作
2020/08/12 Javascript
Python脚本在Appium库上对移动应用实现自动化测试
2015/04/17 Python
Python中Django框架利用url来控制登录的方法
2015/07/25 Python
python使用正则表达式替换匹配成功的组
2017/11/17 Python
Python3.6通过自带的urllib通过get或post方法请求url的实例
2018/05/10 Python
Python面向对象之类和对象实例详解
2018/12/10 Python
python基于gevent实现并发下载器代码实例
2019/11/01 Python
opencv3/C++实现视频读取、视频写入
2019/12/11 Python
python中设置超时跳过,超时退出的方式
2019/12/13 Python
Python基于time模块表示时间常用方法
2020/06/18 Python
The North Face意大利官网:服装、背包和鞋子
2020/06/17 全球购物
mysql有关权限的表都有哪几个
2015/04/22 面试题
小型女装店的创业计划书
2014/01/09 职场文书
金融事务专业毕业生求职信
2014/02/23 职场文书
群众路线对照检查材料
2014/09/22 职场文书
拾金不昧表扬信怎么写
2015/05/04 职场文书
德能勤绩工作总结
2015/08/11 职场文书
Nginx 负载均衡是什么以及该如何配置
2021/03/31 Servers