详解微信小程序——自定义圆形进度条


Posted in Javascript onDecember 29, 2016

微信小程序 自定义圆形进度条,具体如下:

无图无真相,先上图:

详解微信小程序——自定义圆形进度条

实现思路,先绘制底层的灰色圆圈背景,再绘制上层的蓝色进度条。

代码实现:

JS代码:

Page({ 
 data: {}, 
 onLoad: function (options) { 
  // 页面初始化 options为页面跳转所带来的参数 
 }, 
 onReady: function () { 
 
  // 页面渲染完成 
  var cxt_arc = wx.createCanvasContext('canvasArc');//创建并返回绘图上下文context对象。 
  cxt_arc.setLineWidth(6); 
  cxt_arc.setStrokeStyle('#d2d2d2'); 
  cxt_arc.setLineCap('round') 
  cxt_arc.beginPath();//开始一个新的路径 
  cxt_arc.arc(106, 106, 100, 0, 2*Math.PI, false);//设置一个原点(106,106),半径为100的圆的路径到当前路径 
  cxt_arc.stroke();//对当前路径进行描边 
   
  cxt_arc.setLineWidth(6); 
  cxt_arc.setStrokeStyle('#3ea6ff'); 
  cxt_arc.setLineCap('round') 
  cxt_arc.beginPath();//开始一个新的路径 
  cxt_arc.arc(106, 106, 100, -Math.PI * 1 / 2, Math.PI*6/5, false); 
  cxt_arc.stroke();//对当前路径进行描边 
 
  cxt_arc.draw(); 
   
 }, 
 onShow: function () { 
  // 页面显示 
 }, 
 onHide: function () { 
  // 页面隐藏 
 }, 
 onUnload: function () { 
  // 页面关闭 
 } 
})

页面布局:

<view class="wrap"> 
 <view class="top"> 
  <canvas class="cir" style="width:212px; height:212px;" canvas-id="canvasArc"> 
  </canvas> 
 
  <view class="cc">中间</view> 
 
 </view> 
</view>

CSS样式:

.cir{ 
 display: inline-block; 
 margin-top: 20rpx; 
 
} 
 
.top{ 
 text-align: center 
} 
 
.cc{ 
  
 margin-top: -120px; 
  
}

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

Javascript 相关文章推荐
JavaScript 类似flash效果的立体图片浏览器
Feb 08 Javascript
js使用函数绑定技术改变事件处理程序的作用域
Dec 26 Javascript
JavaScript调试工具汇总
Dec 23 Javascript
JavaScript中使用Math.PI圆周率属性的方法
Jun 14 Javascript
js实现Form栏显示全格式时间时钟效果代码
Aug 19 Javascript
JS中的二叉树遍历详解
Mar 18 Javascript
vue.js实现数据动态响应 Vue.set的简单应用
Jun 15 Javascript
vue2.X组件学习心得(新手必看篇)
Jul 05 Javascript
Angular 2父子组件数据传递之@Input和@Output详解(下)
Jul 05 Javascript
JavaScript中Hoisting详解 (变量提升与函数声明提升)
Aug 18 Javascript
Vue 中使用 CSS Modules优雅方法
Apr 09 Javascript
一文带你理解vue创建一个后台管理系统流程(Vue+Element)
May 18 Vue.js
JS作用域深度解析
Dec 29 #Javascript
javascript中的深复制详解及实例分析
Dec 29 #Javascript
canvas学习之API整理笔记(一)
Dec 29 #Javascript
Javascript Function.prototype.bind详细分析
Dec 29 #Javascript
jQuery自定义插件详解及实例代码
Dec 29 #Javascript
canvas快速绘制圆形、三角形、矩形、多边形方法介绍
Dec 29 #Javascript
JavaScript获取短信验证码(周期性)
Dec 29 #Javascript
You might like
Mac环境下php操作mysql数据库的方法分享
2015/05/11 PHP
PHP中命名空间的使用例子
2019/03/22 PHP
Mootools 图片展示插件(lightbox,ImageMenu)收集集合
2010/05/21 Javascript
jQuery创建平滑的页面滚动(顶部或底部)
2013/02/26 Javascript
浅析JQuery中的html(),text(),val()区别
2014/09/01 Javascript
css与javascript跨浏览器兼容性总结
2014/09/15 Javascript
在Node.js应用中读写Redis数据库的简单方法
2015/06/30 Javascript
vue-router 中router-view不能渲染的解决方法
2017/05/23 Javascript
angular $watch 一个变量的变化(实例讲解)
2017/08/02 Javascript
JS构造一个html文本内容成文件流形式发送到后台
2018/07/31 Javascript
详解如何模拟实现node中的Events模块(通俗易懂版)
2019/04/15 Javascript
[03:06]2018年度CS GO最具人气解说-完美盛典
2018/12/16 DOTA
win7上python2.7连接mysql数据库的方法
2017/01/14 Python
OpenCV-Python实现轮廓检测实例分析
2018/01/05 Python
django 修改server端口号的方法
2018/05/14 Python
python3.5基于TCP实现文件传输
2020/03/20 Python
Python实现代码统计工具
2019/09/19 Python
用Python绘制漫步图实例讲解
2020/02/26 Python
python批量修改xml属性的实现方式
2020/03/05 Python
mac在matplotlib中显示中文的操作方法
2020/03/06 Python
python:批量统计xml中各类目标的数量案例
2020/03/10 Python
Python3 hashlib密码散列算法原理详解
2020/03/30 Python
英国健康和美容技术产品购物网站:CurrentBody
2019/07/17 全球购物
C/C++有关内存的思考题
2015/12/04 面试题
WINDOWS域的具体实现方式是什么
2014/02/20 面试题
应届大学生的推荐信
2013/11/20 职场文书
人力资源经理的岗位职责
2014/03/02 职场文书
在教室放鞭炮的检讨书
2014/09/28 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书
绍兴鲁迅故居导游词
2015/02/09 职场文书
测量员岗位职责
2015/02/14 职场文书
2015年女工委工作总结
2015/07/27 职场文书
婚礼必备主持词范本!
2019/07/23 职场文书
tensorflow学习笔记之tfrecord文件的生成与读取
2021/03/31 Python
Pytorch 统计模型参数量的操作 param.numel()
2021/05/13 Python
pandas中DataFrame数据合并连接(merge、join、concat)
2021/05/30 Python