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


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 相关文章推荐
extjs 为某个事件设置拦截器
Jan 15 Javascript
自己封装的javascript事件队列函数版
Jun 12 Javascript
jQuery统计指定子元素数量的方法
Mar 17 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
Aug 04 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
Dec 08 Javascript
从vue基础开始创建一个简单的增删改查的实例代码(推荐)
Feb 11 Javascript
vue项目国际化vue-i18n的安装使用教程
Mar 14 Javascript
详解angular应用容器化部署
Aug 14 Javascript
jQuery实现的简单手风琴效果示例
Aug 29 jQuery
一文快速详解前端框架 Vue 最强大的功能
May 21 Javascript
详解JavaScript中的坐标和距离
May 27 Javascript
vue开发拖拽进度条滑动组件
Sep 21 Javascript
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
php实现无限级分类实现代码(递归方法)
2011/01/01 PHP
php基础教程 php内置函数实例教程
2012/08/21 PHP
基于initPHP的框架介绍
2013/04/18 PHP
linux命令之调试工具strace的深入分析
2013/06/03 PHP
phpmailer中文乱码问题的解决方法
2014/04/22 PHP
PHP+HTML+JavaScript+Css实现简单爬虫开发
2016/03/28 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
2017/09/30 PHP
Laravel框架基于中间件实现禁止未登录用户访问页面功能示例
2019/01/17 PHP
默认让页面的第一个控件选中的javascript代码
2009/12/26 Javascript
Jquery 插件学习实例1 插件制作说明与tableUI优化
2010/04/02 Javascript
jQuery学习总结之元素的相对定位和选择器(持续更新)
2011/04/26 Javascript
range 标准化之获取
2011/08/28 Javascript
js通过更改按钮的显示样式实现按钮的滑动效果
2014/04/23 Javascript
Node.js实现批量去除BOM文件头
2014/12/20 Javascript
jQuery异步上传文件插件ajaxFileUpload详细介绍
2015/05/19 Javascript
Flow之一个新的Javascript静态类型检查器
2015/12/21 Javascript
jQuery简单实现中间浮窗效果
2016/09/04 Javascript
jQuery flip插件实现的翻牌效果示例【附demo源码下载】
2016/09/20 Javascript
巧用数组制作图片切换js代码
2016/11/29 Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
2016/12/27 Javascript
Vue数据驱动模拟实现3
2017/01/11 Javascript
React.js组件实现拖拽排序组件功能过程解析
2020/04/27 Javascript
python能做什么 python的含义
2019/10/12 Python
python 求10个数的平均数实例
2019/12/16 Python
python3 自动打印出最新版本执行的mysql2redis实例
2020/04/09 Python
django 解决扩展自带User表遇到的问题
2020/05/14 Python
python中实现栈的三种方法
2020/12/19 Python
Linux上比较文件的命令都有哪些
2013/09/28 面试题
最常使用的求职信
2014/05/25 职场文书
安全生产年活动总结
2014/08/29 职场文书
“四风”问题整改措施和努力方向
2014/09/20 职场文书
支教个人总结
2015/03/04 职场文书
个人收入证明范本
2015/06/12 职场文书
MySQL中distinct和count(*)的使用方法比较
2021/05/26 MySQL
PyMongo 查询数据的实现
2021/06/28 Python
Redis中key的过期删除策略和内存淘汰机制
2022/04/12 Redis