小程序自定义圆形进度条


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 相关文章推荐
jQuery移除tr无效的解决方法(tr是动态添加)
Sep 22 Javascript
JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
Apr 05 Javascript
使用JavaScript解决网页图片拉伸问题(推荐)
Nov 25 Javascript
js 实现获取name 相同的页面元素并循环遍历的方法
Feb 14 Javascript
使用vue与jquery实时监听用户输入状态的操作代码
Sep 19 jQuery
解决Vue编译时写在style中的路径问题
Sep 21 Javascript
实时监控input框,实现输入框与下拉框联动的实例
Jan 23 Javascript
使用JSON格式提交数据到服务端的实例代码
Apr 01 Javascript
移动端图片上传旋转、压缩问题的方法
Oct 16 Javascript
JavaScript中的类型检查
Feb 03 Javascript
JS一次前端面试经历记录
Mar 19 Javascript
three.js 将图片马赛克化的示例代码
Jul 31 Javascript
浅谈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 array_search() 函数使用
2010/04/13 PHP
解决PHP在DOS命令行下却无法链接MySQL的技术笔记
2010/12/29 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
2014/09/28 PHP
php调用mysql存储过程实例分析
2014/12/29 PHP
php实现比较两个字符串日期大小的方法
2015/05/12 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
2019/04/10 PHP
浅谈Laravel模板实体转义带来的坑
2019/10/22 PHP
非常漂亮的JS代码经典广告
2007/10/21 Javascript
js 处理URL实用技巧
2010/11/23 Javascript
JS实现仿QQ聊天窗口抖动特效
2015/05/10 Javascript
jQuery实现非常实用漂亮的select下拉菜单选择效果
2015/11/06 Javascript
基于JavaScript实现div层跟随滚动条滑动
2016/01/12 Javascript
Bootstrap创建可折叠的组件
2016/02/23 Javascript
Node.js配合node-http-proxy解决本地开发ajax跨域问题
2016/08/31 Javascript
javascript 中的事件委托详解
2016/10/25 Javascript
JS新包管理工具yarn和npm的对比与使用入门
2016/12/09 Javascript
JavaScript实现大图轮播效果
2017/01/11 Javascript
jQury Ajax使用Token验证身份实例代码
2017/09/22 Javascript
使用axios实现上传图片进度条功能
2017/12/21 Javascript
JavaScript获取移动设备型号的实现代码(JS获取手机型号和系统)
2018/03/10 Javascript
jQuery中内容过滤器简单用法示例
2018/03/31 jQuery
jQuery实现鼠标滑动切换图片
2020/05/27 jQuery
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
[51:34]Ti4主赛事胜者组 DK vs EG 2
2014/07/19 DOTA
谈谈如何手动释放Python的内存
2016/12/17 Python
Python 判断是否为质数或素数的实例
2017/10/30 Python
Python实现的knn算法示例
2018/06/14 Python
详解python如何在django中为用户模型添加自定义权限
2018/10/15 Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
2020/06/17 Python
利用CSS3伪元素实现逐渐发光的方格边框
2017/05/07 HTML / CSS
FC-Moto瑞典:欧洲最大的摩托车服装和头盔商店之一
2018/11/27 全球购物
国家励志奖学金个人先进事迹材料
2014/05/04 职场文书
三八红旗集体先进事迹材料
2014/05/22 职场文书
对照四风自我剖析材料
2014/10/07 职场文书
群众路线个人剖析材料及整改措施
2014/11/04 职场文书
Python机器学习应用之基于线性判别模型的分类篇详解
2022/01/18 Python