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


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 对象、函数和继承
Jul 07 Javascript
预加载css或javascript的js代码
Apr 23 Javascript
jQuery与ExtJS之选择实例分析
Aug 19 Javascript
使用GruntJS构建Web程序之合并压缩篇
Jun 06 Javascript
js老生常谈之this,constructor ,prototype全面解析
Apr 05 Javascript
基于JS代码实现当鼠标悬停表格上显示这一格的全部内容
Jun 12 Javascript
利用JS实现页面删除并重新排序功能
Dec 09 Javascript
jQuery的三种bind/One/Live/On事件绑定使用方法
Feb 23 Javascript
jQuery复合事件结合toggle()方法的用法示例
Jun 10 jQuery
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
Dec 09 Javascript
javascript创建元素和删除元素实例小结
Jun 19 Javascript
原生js+css实现tab切换功能
Sep 17 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
example1.php
2006/10/09 PHP
php结合js实现点击超链接执行删除确认操作
2014/10/31 PHP
php生成随机颜色的方法
2014/11/13 PHP
php数据访问之增删改查操作
2016/05/09 PHP
图文详解PHP环境搭建教程
2016/07/16 PHP
PHP编写简单的App接口
2016/08/28 PHP
thinkPHP框架实现的无限回复评论功能示例
2018/06/09 PHP
flash 得到自身url参数的代码
2009/11/15 Javascript
利用location.hash实现跨域iframe自适应
2010/05/04 Javascript
在百度知道团队中快速审批新成员的js脚本
2014/02/02 Javascript
Angular实现form自动布局
2016/01/28 Javascript
jQuery过滤特殊字符及JS字符串转为数字
2016/05/26 Javascript
微信小程序 绘图之饼图实现
2016/10/24 Javascript
String字符串截取的四种方式总结
2016/11/28 Javascript
浅谈js-FCC算法Friendly Date Ranges(详解)
2017/04/10 Javascript
Vue axios 中提交表单数据(含上传文件)
2017/07/06 Javascript
react-router4 配合webpack require.ensure 实现异步加载的示例
2018/01/18 Javascript
nodejs实现一个word文档解析器思路详解
2018/08/14 NodeJs
解决IE11 vue +webpack 项目中数据更新后页面没有刷新的问题
2018/09/25 Javascript
微信小程序日历组件使用方法详解
2018/12/29 Javascript
Vue.js特性Scoped Slots的浅析
2019/02/20 Javascript
从理论角度讨论JavaScript闭包
2019/04/03 Javascript
vue之组件内监控$store中定义变量的变化详解
2019/11/08 Javascript
python抓取网页时字符集转换问题处理方案分享
2014/06/19 Python
python微信跳一跳游戏辅助代码解析
2018/01/29 Python
pandas-resample按时间聚合实例
2019/12/27 Python
深入了解如何基于Python读写Kafka
2019/12/31 Python
详解字符串在Python内部是如何省内存的
2020/02/03 Python
Python实现多线程下载脚本的示例代码
2020/04/03 Python
Python判断字符串是否为合法标示符操作
2020/09/03 Python
Mamas & Papas沙特阿拉伯:英国最受欢迎的婴儿品牌
2017/11/20 全球购物
会计专业自我鉴定范文
2013/10/06 职场文书
毕业生简单求职信
2013/11/19 职场文书
黄继光的英雄事迹材料
2014/02/13 职场文书
vue backtop组件的实现完整代码
2021/04/07 Vue.js
React四级菜单的实现
2022/04/08 Javascript