微信小程序实现圆形进度条动画

 更新时间:2019-06-25 03:00:56   作者:佚名   我要评论(0)

本文实例为大家分享了微信小程序动画之圆形进度条,供大家参考,具体内容如下
上图:

代码:
js:


//获取应用实例
var app = getApp()

var interval;
var

本文实例为大家分享了微信小程序动画之圆形进度条,供大家参考,具体内容如下

上图:

代码:

js:

//获取应用实例
var app = getApp()

var interval;
var varName;
var ctx = wx.createCanvasContext('canvasArcCir');

Page({
 data: {
 },
 drawCircle: function () {
  clearInterval(varName);
  function drawArc(s, e) {
   ctx.setFillStyle('white');
   ctx.clearRect(0, 0, 200, 200);
   ctx.draw();
   var x = 100, y = 100, radius = 96;
   ctx.setLineWidth(7);
   ctx.setStrokeStyle('#BFEFFF');
   ctx.setLineCap('round');
   ctx.beginPath();
   ctx.arc(x, y, radius, s, e, false);
   ctx.stroke()
   ctx.draw()
  }
  var step = 1, startAngle = 1.5 * Math.PI, endAngle = 0;
  var animation_interval = 1000, n = 60;
  var animation = function () {
   if (step <= n) {
    endAngle = step * 8 * Math.PI / n + 1.5 * Math.PI;
    drawArc(startAngle, endAngle);
    step++;
   } else {
    clearInterval(varName);
   }
  };
  varName = setInterval(animation, animation_interval);
 },
 onReady: function () {
  //创建并返回绘图上下文context对象。
  var cxt_arc = wx.createCanvasContext('canvasCircle');
  cxt_arc.setLineWidth(8);
  cxt_arc.setStrokeStyle('#EDEDED');
  cxt_arc.setLineCap('round');
  cxt_arc.beginPath();
  cxt_arc.arc(100, 100, 96, 0, 2 * Math.PI, false);
  cxt_arc.stroke();
  cxt_arc.draw();
 },
 onLoad: function (options) {

 }
})

wxml:

<view class="wrap">
 <view class="circle-box">
  <canvas class="circle" style="width:200px; height:200px;" canvas-id="canvasArcCir">
  </canvas>
  <canvas class="circle" style="z-index: -5; width:200px; height:200px;" canvas-id="canvasCircle">
  </canvas>
  <view class="draw_btn" bindtap="drawCircle">点击开始</view>
 </view>
</view>

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: 28vw;
 position: absolute;
 top: 31vw;
 right: 0;
 left: 0;
 margin: auto;
 border: 1px #0D0D0D solid;
  background-color: #BFEFFF;
 border-radius: 5vw;
}

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

您可能感兴趣的文章:

  • 微信小程序自定义音乐进度条的实例代码
  • 微信小程序多音频播放进度条问题
  • 微信小程序画布圆形进度条显示效果
  • 微信小程序之圆形进度条实现思路
  • 微信小程序实现下载进度条的方法
  • 微信小程序实现实时圆形进度条的方法示例
  • 详解微信小程序——自定义圆形进度条

相关文章

  • 微信小程序自定义多列选择器使用详解

    微信小程序自定义多列选择器使用详解

    一、预览 微信小程序在自带的表单组件中加入了选择器picker,并给出了常用的时间和省市区三级联动选择器,但日常开发中不可能仅仅使用这些选择器,所以我们在
    2019-06-25
  • 微信小程序实现圆形进度条动画

    微信小程序实现圆形进度条动画

    本文实例为大家分享了微信小程序动画之圆形进度条,供大家参考,具体内容如下 上图: 代码: js: //获取应用实例 var app = getApp() var interval; var
    2019-06-25
  • JSP使用过滤器防止Xss漏洞

    JSP使用过滤器防止Xss漏洞

    在用java进行web业务开发的时候,对于页面上接收到的参数,除了极少数是步可预知的内容外,大量的参数名和参数值都是不会出现触发Xss漏洞的字符。而通常为了避
    2019-06-25
  • JS中超越现实的匿名函数用法实例分析

    JS中超越现实的匿名函数用法实例分析

    本文实例讲述了JS中超越现实的匿名函数用法。分享给大家供大家参考,具体如下: 一般函数: function show1(name){ alert(name); //打印:zhangsan }
    2019-06-25
  • 使用Vue开发自己的Chrome扩展程序过程详解

    使用Vue开发自己的Chrome扩展程序过程详解

    前言 浏览器扩展程序是可以修改和增强 Web 浏览器功能的小程序。它们可用于各种任务,例如阻止广告,管理密码,组织标签,改变网页的外观和行为等等。 好消
    2019-06-25
  • javascript实现自由编辑图片代码详解

    javascript实现自由编辑图片代码详解

    当下我们项目中需要一个可自由编辑图片的功能,当图片可能出现需要频繁编辑,同时能满足发现裁剪不满意想要微调的时候,会发现如果我们处理图片按照平常的习惯
    2019-06-25
  • vue配置文件实现代理v2版本的方法

    vue配置文件实现代理v2版本的方法

    vue实现不同服务器代理,接上篇,虽然可实现多版本代理,但是每增加一种模式就需要重下新修改vue.config.js以及.env.dev.local,感觉很不智能,扩展性挺差。
    2019-06-25
  • Scala中正则表达式以及与模式匹配结合(多种方式)

    Scala中正则表达式以及与模式匹配结合(多种方式)

    正则表达式 //"""原生表达 val regex="""([0-9]+)([a-z]+)""".r val numPattern="[0-9]+".r val numberPattern="""\s+[0-9]+\s+""".r 说明:.r()方法简
    2019-06-25
  • Ajax请求时无法重定向的问题解决代码详解

    Ajax请求时无法重定向的问题解决代码详解

    前言 今天发现,当使用Ajax请求时,如果后台进行重定向到其他页面时是无法成功的,只能在浏览器地址栏输入才能够实现重定向。 Ajax默认就是不支持重定向的,它
    2019-06-25
  • 前端Electron新手入门教程详解

    前端Electron新手入门教程详解

    Electron 是什么 定义 Electron是一个能让你使用传统前端技术(Nodejs, Javascript, HTML, CSS)开发一个跨平台桌面应用的框架。这里所说的桌面应用指的是
    2019-06-25

最新评论