小程序自定义圆形进度条


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 select操作的日期联动实现代码
Dec 06 Javascript
ExtJS中文乱码之GBK格式编码解决方案及代码
Jan 20 Javascript
Javascript仿PHP $_GET获取URL中的参数
May 12 Javascript
seaJs的模块定义和模块加载浅析
Jun 06 Javascript
使用js dom和jquery分别实现简单增删改
Sep 11 Javascript
Javascript学习笔记之数组的构造函数
Nov 23 Javascript
用JavaScript实现对话框的教程
Jun 04 Javascript
jQuery.ajax 跨域请求webapi设置headers的解决方案
Aug 08 Javascript
浅析JavaScript中作用域和作用域链
Dec 06 Javascript
vue组件定义,全局、局部组件,配合模板及动态组件功能示例
Mar 19 Javascript
微信JSSDK实现打开摄像头拍照再将相片保存到服务器
Nov 15 Javascript
Vue动态加载图片在跨域时无法显示的问题及解决方法
Mar 10 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
isset和empty的区别
2007/01/15 PHP
php getimagesize 上传图片的长度和宽度检测代码
2010/05/15 PHP
twig模板获取全局变量的方法
2016/02/05 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
2019/12/12 PHP
判断用户的在线状态 onbeforeunload事件
2011/03/05 Javascript
选择器中含有空格在使用示例及注意事项
2013/07/31 Javascript
Document:getElementsByName()使用方法及示例
2013/10/28 Javascript
完美解决AJAX跨域问题
2013/11/01 Javascript
js浮点数保留两位小数点示例代码(四舍五入)
2013/12/26 Javascript
javascript中innerText和innerHTML属性用法实例分析
2015/05/13 Javascript
javascript判断并获取注册表中可信任站点的方法
2015/06/01 Javascript
jQuery实现新消息在网页标题闪烁提示
2015/06/23 Javascript
使用jQuery制作遮罩层弹出效果的极简实例分享
2016/05/12 Javascript
javascript 数组的定义和数组的长度
2016/06/07 Javascript
jQuery获取与设置iframe高度的方法
2016/08/01 Javascript
js最简单的双向绑定实例讲解
2018/01/02 Javascript
elementUI中Table表格问题的解决方法
2018/12/04 Javascript
基于JavaScript实现单例模式
2019/10/30 Javascript
JavaScript函数Call、Apply原理实例解析
2020/02/17 Javascript
vue或react项目生产环境去掉console.log的操作
2020/09/02 Javascript
Python脚本在Appium库上对移动应用实现自动化测试
2015/04/17 Python
树莓派动作捕捉抓拍存储图像脚本
2019/06/22 Python
在django模板中实现超链接配置
2019/08/21 Python
keras 多gpu并行运行案例
2020/06/10 Python
Python爬虫实例——爬取美团美食数据
2020/07/15 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
2021/01/08 Python
利用CSS3的border-radius绘制太极及爱心图案示例
2016/05/17 HTML / CSS
用HTML5制作一个简单的桌球游戏的教程
2015/05/12 HTML / CSS
日本酒店、民宿、温泉旅馆、当地旅行团中文预订:e路东瀛
2019/12/09 全球购物
澳洲CFL商城:CHEMIST FOR LESS(中文)
2021/02/28 全球购物
Linux内核的同步机制是什么?主要有哪几种内核锁
2016/07/11 面试题
简短的公司员工自我评价分享
2013/11/13 职场文书
高中语文教学反思
2014/01/16 职场文书
云冈石窟导游词
2015/02/04 职场文书
行政助理岗位职责范本
2015/04/11 职场文书
springcloud整合seata
2022/05/20 Java/Android