//1、封装在utils中

//底圆条

function floorCir(obj={}){  //参数为obj对象

let id=obj.id?obj.id:null;

let x = obj.x?obj.x:null;

let y = obj.y?obj.y:null;

let radius = obj.radius?obj.radius:null;

var cxt_arc = wx.createCanvasContext(id);  //寻找id---注意id不要重复

cxt_arc.setLineWidth(6);

cxt_arc.setStrokeStyle('#ECECEC');

cxt_arc.setLineCap('round');

cxt_arc.beginPath();

cxt_arc.arc(x, y, radius, 0, 2 * Math.PI, false);

cxt_arc.stroke();

cxt_arc.draw();

}

/**圆形进度条封装 */

function drawCircle(obj={}){

let evl = obj.evl?obj.evl:null;

let id = obj.id?obj.id:null;

let x = obj.x?obj.x:null;

let y=obj.y?obj.y:null;

let radius=obj.radius?obj.radius:null;

var crore=evl;  //动态生成的分数画圆

let ctx = wx.createCanvasContext(id,this)  //一定加this

if(varName){

clearInterval(varName);

varName = null;

}

function drawArc(s, e) {

// console.log(s);

ctx.setFillStyle('white');

ctx.clearRect(0, 0, 120, 120);

ctx.draw();

// var x = 60, y = 60, radius = 50;

/**设置渐变 */

var gradient = ctx.createLinearGradient(200, 100, 100, 200);

gradient.addColorStop("0", "#7CF8BA");

gradient.addColorStop("0.7", "#35B3FF");

gradient.addColorStop("1.0", "#7CF8BA");

ctx.setLineWidth(6); //进度条宽度

ctx.setStrokeStyle(gradient);

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 = 60, n = crore;

var animation = function () {

if (step <= n) {

endAngle = step * 2 * Math.PI / 100 + 1.5 * Math.PI;

drawArc(startAngle, endAngle);

step++;

} else {

if(varName){

clearInterval(varName);

varName = null

}

}

};

let varName = setInterval(animation, animation_interval);

}

//2、在应用的js中引入utils

import {drawCircle,floorCir} from '/utils/util'

//在onLoad中加入

let tmpObj = {};

tmpObj.evl = score;

tmpObj.x = 60;

tmpObj.y = 60;

tmpObj.radius = 50;

tmpObj.id = 'canvasArcCir';

drawCircle(tmpObj);

//3、在onReady中描绘底圆

onReady: function () {

let tmObj={};

tmObj.x = 60;

tmObj.y = 60;

tmObj.radius = 50;

tmObj.id = 'canvasCircle';

floorCir(tmObj)

},

//4、在wxml中

{{list.fraction}}分

//5、css样式

/*圆环进度条文字*/

.circle_info{

position: absolute;

width: 100%;

left: 50%;

top: 50%;

transform: translate(-50%,-50%);

display: flex;

align-items: center;

justify-content: center

}

.circle_dot{

width:16rpx;

height: 16rpx;

border-radius: 50%;

background-color: #fb9126;

}

.circle_txt{

padding-left: 10rpx;

color: #fff;

font-size: 36rpx;

letter-spacing: 2rpx;

}

PHP进度条 小程序,php短视频源码小程序实现圆形进度条相关推荐

  1. 短视频源码,仿抖音源码,助您在短视频行业开辟出一条新路

    短视频源码,仿抖音源码,助您在短视频行业开辟出一条新路 复制代码 在短视频行业,抖音当之无愧的T0阶层.致使腾讯老大也眼红这块蛋糕,打压抖音,重启自己的短视频--微视来进行竞争.短视频的火爆事宜得益于 ...

  2. 短视频源码仿抖音短视频APP源码短视频平台源码短视频源码

    [WoShop仿抖音短视频源码的主要功能] 1.短视频带货:关联商品的短视频封面会有商品标识,短视频内容中会弹出商品链接 2.直播带货:短视频源码支持直播功能,直播间内可开启带货功能 3.邀请赚钱:用 ...

  3. iOS短视频源码音频采集过程中的音效实现

    在移动短视频直播中, 声音是主播和观众互动的重要途径之一, 为了丰富直播的内容,大家都会想要在声音上做一些文章, 在短视频源码采集录音的基础上玩一些花样. 比如演唱类的直播间中, 主播伴随着背景音乐演 ...

  4. iOS短视频源码音频采集过程中的音效实现 1

    在移动短视频直播中, 声音是主播和观众互动的重要途径之一, 为了丰富直播的内容,大家都会想要在声音上做一些文章, 在短视频源码采集录音的基础上玩一些花样. 比如演唱类的直播间中, 主播伴随着背景音乐演 ...

  5. 一对一交友源码,仿抖音短视频源码,搭建的秘密你了解多少?

    一对一交友源码,仿抖音短视频源码,搭建的秘密你了解多少? 5G技术马上到来,现在直播遇到的一些问题,比如延迟.卡顿.掉线等,很有可能这些情况就不复存在了.而且,其他的一些高科技产品会运用到直播过程中, ...

  6. 直播源码和短视频源码,相亲相爱的一家人

    直播源码和短视频源码,相亲相爱的一家人 从直播的百播大战,到如今的趋于稳定:从短视频的兴起,到如今的竞争发展.直播和短视频两条线,开始相交,直播里面添加短视频功能,短视频里面也添加了直播. 在直播里面 ...

  7. 类似抖音的短视频app开发难度大吗?短视频源码让你事半功倍

    "短视频"--在2018年视频直播行业的发展趋于稳定后,短视频app成为了主角.抖音短视频app的火爆,引来互联网大佬们的强势入局.看似简洁的抖音短视频app,实则在开发过程中会存 ...

  8. 短视频火热态势下,抖音短视频源码受到持续关注

    曾经,文字图片是最为广泛的信息载体,而现在,短视频和直播行业的火爆态势证明了视频这一信息载体的魅力.在过去的两年里,抖音打下了国内的江山又侵占了美国.印度.日本等国家的社交 APP排行榜,聚集沉淀了不 ...

  9. 抖音短视频源码火爆!引来BAT全面入局短视频APP开发

    之前我们聊过,"两微一抖"的短视频大战,抖音短视频的持续火爆引起了腾讯.微博的重点关注,随后微信更是全面"封杀"抖音.两家公司更是针对火热的抖音短视频,推出了自 ...

最新文章

  1. 建立双链表(头插法)
  2. 又美又飒!这位985大学小姐姐,堪称今年最强博士后!
  3. 浅析C# new和override的区别
  4. php 协程怎么用,PHP yield 协程 生成器用法的了解
  5. 02-CSS基础与进阶-day10_2018-09-14-20-38-10
  6. Storm 1.0.1发布 .NET 适配也已到来
  7. 只能获取fixed语句初始值_因用了Insert into select语句,美女同事被开除了!
  8. oracle权限培训,Java培训-ORACLE数据库学习【2】用户权限
  9. 使用Moq、NUnit和Shoulded进行单元测试
  10. Docker学习笔记 之 Docker安装配置使用
  11. shell脚本中的逻辑判断,文件目录属性判断,if特殊用法,case判断
  12. Springmvc Get请求Tomcat、WebLogic中文乱码问题
  13. StringUtil工具类之去除所有的空白字符
  14. 小丸工具箱\FFmpeg踩坑记录
  15. Craps赌博游戏-python3
  16. 2020 Q4营收环比增长27.5%,前程无忧找回增长节奏
  17. Tumblr的消息通知系统是如何构建的
  18. 宏观经济学gdp计算方法_宏观经济学答疑总结
  19. Tita OKR分享:我们提出的OKRs-E是什么?
  20. Easy Excel使用说明

热门文章

  1. 编写手机脚本入门篇 1---adb
  2. oracle 将查询结果纵向横向显示。
  3. 升级显卡驱动hd4300
  4. 好奇号火星探测器 matlab,美国好奇号(CURIOSITY)火星探测器纸模型图纸.pdf
  5. 09数据在内存中的存储
  6. 终极一班介绍,终极一班在线播放
  7. 使用easywechat做小程序模板消息推送
  8. Winxp sp2 sn
  9. 高数中定积分以及微分方程的物理应用
  10. Rust crates.io换源