小程序自定义圆形进度条

 更新时间:2020年11月17日 11:36:26   作者:wangjinsheng593  
这篇文章主要为大家详细介绍了小程序自定义圆形进度条,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了小程序自定义圆形进度条的具体代码,供大家参考,具体内容如下

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();
 },
})

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

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

相关文章

  • 修改ligerui 默认确认按钮的方法

    修改ligerui 默认确认按钮的方法

    下面小编就为大家带来一篇修改ligerui 默认确认按钮的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • 微信小程序实现运动步数排行功能(可删除)

    微信小程序实现运动步数排行功能(可删除)

    这篇文章主要介绍了微信小程序实现运动步数排行功能(可删除),实现代码也很简单,需要的朋友可以参考下
    2018-07-07
  • javascript实现鼠标移到Image上方时显示文字效果的方法

    javascript实现鼠标移到Image上方时显示文字效果的方法

    这篇文章主要介绍了javascript实现鼠标移到Image上方时显示文字效果的方法,涉及javascript鼠标事件及图文属性动态设置的相关技巧,可用于为图片增加文字提示效果,需要的朋友可以参考下
    2015-08-08
  • HTML5开发Kinect体感游戏的实例应用

    HTML5开发Kinect体感游戏的实例应用

    这篇文章主要介绍了HTML5开发Kinect体感游戏的实例应用的相关资料,希望通过本文能够帮助到大家,需要的朋友可以参考下
    2017-09-09
  • 详解webpack+ES6+Sass搭建多页面应用

    详解webpack+ES6+Sass搭建多页面应用

    这篇文章主要介绍了webpack+ES6+Sass搭建多页面应用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • 使用JavaScript实现等比缩放的几种常见方法

    使用JavaScript实现等比缩放的几种常见方法

    这篇文章主要介绍了如何使用JavaScript对HTML中的元素和任意DOM元素进行等比缩放,通过获取容器或元素的尺寸信息,计算缩放比例,并应用CSS变换(transform属性)来实现等比缩放,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-01-01
  • 对比分析Django的Q查询及AngularJS的Datatables分页插件

    对比分析Django的Q查询及AngularJS的Datatables分页插件

    通过本文给大家对比分析了Django的Q查询及AngularJS的Datatables分页插件,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • Bootstrap每天必学之模态框(Modal)插件

    Bootstrap每天必学之模态框(Modal)插件

    Bootstrap每天必学之模态框(Modal)插件,模态框(Modal)是覆盖在父窗体上的子窗体。通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动。子窗体可提供信息、交互等,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • js获取指定日期周数以及星期几的小例子

    js获取指定日期周数以及星期几的小例子

    根据某年某周获取一周的日期。如开始日期规定为星期四到下一周的星期五为一周,需要的朋友可以参考下
    2014-06-06
  • JavaScript实现双向链表过程解析

    JavaScript实现双向链表过程解析

    这篇文章主要介绍了利用JavaScript实现双向链表以及它的封装和常用操作,文中的示例代码讲解详细,对日常的学习和工作都有一定的价值,快来和小编一起学习吧
    2021-12-12

最新评论