最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序?qū)崿F(xiàn)環(huán)形進(jìn)度條

 更新時間:2022年06月30日 08:46:51   作者:逃離到火星  
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)環(huán)形進(jìn)度條,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了微信小程序?qū)崿F(xiàn)環(huán)形進(jìn)度條的具體代碼,供大家參考,具體內(nèi)容如下

index.wxss

.circle {
? position: absolute;
? left: 0;
? right: 0;
? margin: auto;
}

index.wxml

<canvas class="circle" style="z-index: 1;" canvas-id="canvasArcCir"></canvas>
<canvas class="circle" style="z-index: 0;" canvas-id="canvasCircle"></canvas>

index.js

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


Page({

? /**
? ?* 頁面的初始數(shù)據(jù)
? ?*/
? data: {
? ? pitch: 0,
? ? titleName: "答題結(jié)果",
? ? btn_color: "",
? ? text: 0,
? ? accuracy: {},
? },

? /**
? ?* 生命周期函數(shù)--監(jiān)聽頁面加載
? ?*/
? onLoad: function (options) {
? ? if (options.correctAndError != null) {
? ? ? var accuracyTemp = JSON.parse(options.correctAndError);
? ? ? accuracyTemp.time = (accuracyTemp.time / 2).toFixed(1);
? ? } else {
? ? ? var accuracyTemp = {
? ? ? ? questionNumber: 10,
? ? ? ? correctNumber: 7,
? ? ? ? time: 50
? ? ? }
? ? }

? ? var bgColorTemp = "";
? ? var bColorTemp = "";
? ? if ((accuracyTemp.correctNumber / accuracyTemp.questionNumber) < 0.6) {
? ? ? bgColorTemp = "linear-gradient(180deg,rgba(255,90,84,1) 0%,rgba(255,152,109,1) 100%)";
? ? ? bColorTemp = "#FF5C54"
? ? } else if ((accuracyTemp.correctNumber / accuracyTemp.questionNumber) < 0.8) {
? ? ? bgColorTemp = "linear-gradient(180deg,rgba(250,182,25,1) 0%,rgba(249,206,69,1) 100%)";
? ? ? bColorTemp = "#FBC932";
? ? } else {
? ? ? bgColorTemp = "linear-gradient(180deg,rgba(53,168,203,1) 0%,rgba(80,205,219,1) 100%)";
? ? ? bColorTemp = "#36A9CB";
? ? }

? ? //練習(xí)結(jié)果-差
? ? this.setData({
? ? ? bgColor: bgColorTemp,
? ? ? btBgColor: bgColorTemp,
? ? ? tColor: bColorTemp,
? ? ? bdColor: bColorTemp,
? ? ? accuracy: accuracyTemp
? ? });
? },

? /**
? ?* 生命周期函數(shù)--監(jiān)聽頁面初次渲染完成
? ?*/
? onReady: function () {
? ? var that = this;
? ? setTimeout(function () {


? ? ? //創(chuàng)建并返回繪圖上下文context對象。
? ? ? //灰色圓環(huán)
? ? ? var cxt_arc = wx.createCanvasContext('canvasCircle');
? ? ? cxt_arc.setLineWidth(15);
? ? ? cxt_arc.setStrokeStyle('#eaeaea');
? ? ? cxt_arc.setLineCap('round');
? ? ? cxt_arc.beginPath();
? ? ? cxt_arc.arc(130, 130, 94, 2.5, 2.2 * Math.PI, false);
? ? ? cxt_arc.stroke();
? ? ??
? ? ??
? ? ? //沒有運(yùn)動的白點(diǎn)
? ? ? cxt_arc.beginPath();
? ? ? cxt_arc.setStrokeStyle('#fff');
? ? ? cxt_arc.setLineCap('round');
? ? ? cxt_arc.setLineWidth(5);
? ? ? cxt_arc.arc(55, 185, 1, 0, 2 * Math.PI, false);
? ? ? cxt_arc.stroke();
? ? ??
? ? ??
? ? ? //虛線中的圓環(huán)
? ? ? var waste_pce = 20;
? ? ? cxt_arc.setLineWidth(18);
? ? ? cxt_arc.setStrokeStyle(that.data.tColor);
? ? ? cxt_arc.setLineCap('square')
? ? ? cxt_arc.beginPath(); //開始一個新的路徑
? ? ? cxt_arc.arc(130, 130, 60, 2.5, 2.2 * Math.PI, false); //設(shè)置一個原點(diǎn)(106,106),半徑為100的圓的路徑到當(dāng)前路徑
? ? ? cxt_arc.stroke(); //對當(dāng)前路徑進(jìn)行描邊
? ? ??
? ? ??
? ? ? //畫50條放射白線實(shí)現(xiàn)虛線效果
? ? ? cxt_arc.setLineWidth(3);
? ? ? cxt_arc.setStrokeStyle('#fff');
? ? ? cxt_arc.setLineCap('square');
? ? ? cxt_arc.beginPath(); //開始一個新的路徑
? ? ? for (var i = 0; i < 50; i++) {
? ? ? ? var x = Math.PI * 2 / 50 * i;
? ? ? ? cxt_arc.moveTo(130, 130);
? ? ? ? cxt_arc.lineTo((130 + Math.sin(x) * 70), (130 + Math.cos(x) * 70));
? ? ? ? cxt_arc.stroke();
? ? ? }

? ? ? var accuracyTemp = (that.data.accuracy.correctNumber / that.data.accuracy.questionNumber)

? ? ? that.drawCircle(accuracyTemp, that.data.tColor);
? ? ??
? ? ? //設(shè)置中間字的坐標(biāo)
? ? ? var x = 130,
? ? ? ? y = 130;
? ? ? if (accuracyTemp == 1) {
? ? ? ? x = 125;
? ? ? ? y = 158;
? ? ? } else if (accuracyTemp == 0) {
? ? ? ? x = 126;
? ? ? ? y = 140;
? ? ? } else {
? ? ? ? x = 126;
? ? ? ? y = 150;
? ? ? }
? ? ??
? ? ? //中間字 數(shù)字
? ? ? cxt_arc.beginPath();
? ? ? cxt_arc.setFontSize(30);
? ? ? cxt_arc.setFillStyle(that.data.tColor);
? ? ? cxt_arc.textAlign = 'center';
? ? ? cxt_arc.fillText(accuracyTemp * 100, x, 135);
? ? ? cxt_arc.stroke();
? ? ??
? ? ? //中間字 %
? ? ? cxt_arc.beginPath();
? ? ? cxt_arc.setFontSize(10);
? ? ? cxt_arc.fillText("%", y, 135);
? ? ? cxt_arc.textAlign = 'center';
? ? ? cxt_arc.stroke();
? ? ??
? ? ? //中間字 正確率
? ? ? cxt_arc.beginPath();
? ? ? cxt_arc.setFontSize(10);
? ? ? cxt_arc.setFillStyle("#999999");
? ? ? cxt_arc.textAlign = 'center';
? ? ? cxt_arc.fillText("正確率", 130, 155);
? ? ? cxt_arc.stroke();

? ? ? cxt_arc.draw();


? ? }, 500);
? },
? /**
? ?* 自定義函數(shù)
? ?*/
? drawCircle: function (name, color) {
? ? this.setData({
? ? ? btn_color: color,
? ? ? text: name * 100
? ? })
? ? clearInterval(varName);

? ? function drawArc(s, e, x9, y9) {
? ? ? //運(yùn)動環(huán)
? ? ? ctx.setFillStyle('white');
? ? ? ctx.clearRect(0, 0, 200, 200);
? ? ? ctx.draw();
? ? ? var x = 130,
? ? ? ? y = 130,
? ? ? ? radius = 94;
? ? ? ctx.setLineWidth(15);
? ? ? ctx.setStrokeStyle(color);
? ? ? ctx.setLineCap('round');
? ? ? ctx.beginPath();
? ? ? ctx.arc(x, y, radius, s, e, false);
? ? ? ctx.stroke()
? ? ??
? ? ? //運(yùn)動白點(diǎn)
? ? ? ctx.beginPath();
? ? ? ctx.setStrokeStyle('#fff');
? ? ? ctx.setLineCap('round');
? ? ? ctx.setLineWidth(5);
? ? ? ctx.arc(x9, y9, 1, 0, 2 * Math.PI, false);
? ? ? ctx.stroke();
? ? ? ctx.draw()


? ? }
? ? var step = 0,
? ? ? startAngle = 0.8 * Math.PI,//開始弧度
? ? ? endAngle = 0;
? ? var animation_interval = 0,
? ? ? n = 600;


? ? var animation = function () {
? ? ? if (step <= n) {

? ? ? ? endAngle = name * (step * 1.4 * Math.PI / n) + 0.8 * Math.PI;//結(jié)束弧度
? ? ? ? var L = (1.2*Math.PI + endAngle )*94;//弧長
? ? ? ? var x = (54 - 130) * Math.cos(L / 94) - (185 - 130) * Math.sin(L / 94) + 130; //x坐標(biāo)
? ? ? ? var y = (54 - 130) * Math.sin(L / 94) + (185 - 130) * Math.cos(L / 94) + 130; //y坐標(biāo)

? ? ? ? drawArc(startAngle, endAngle, x, y);
? ? ? ? step++;
? ? ? } else {
? ? ? ? clearInterval(varName);
? ? ? }
? ? };
? ? varName = setInterval(animation, animation_interval);
? },

})

效果

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 阻止mousemove鼠標(biāo)移動或touchmove觸摸移動觸發(fā)click點(diǎn)擊事件

    阻止mousemove鼠標(biāo)移動或touchmove觸摸移動觸發(fā)click點(diǎn)擊事件

    這篇文章主要為大家介紹了阻止mousemove或touchmove與click事件同時觸發(fā)技巧,一個按鈕綁定了多個事件,所以就要想辦法阻止 mouse 鼠標(biāo)事件或 touch 觸摸事件 與 click 事件同時觸發(fā),不然每次拖拽按鈕后都會觸發(fā) click 事件,這顯然是不友好的
    2023-06-06
  • js 重構(gòu)Array的sort排序方法

    js 重構(gòu)Array的sort排序方法

    sort是數(shù)組的一個排序方法。學(xué)習(xí)js的朋友可以參考下。
    2011-07-07
  • 一文帶你深入了解JavaScript中的原型&原型鏈

    一文帶你深入了解JavaScript中的原型&原型鏈

    相信不少同學(xué)在面試的時候經(jīng)常在基礎(chǔ)上就掛掉了,當(dāng)下行情實(shí)屬嚴(yán)峻,如果我們基礎(chǔ)都沒有打牢固的話,實(shí)屬有點(diǎn)面試?yán)速M(fèi)機(jī)會。本文就來和大家聊聊JavaScript中的原型&原型鏈,希望對大家有所幫助
    2023-02-02
  • JS字符串函數(shù)擴(kuò)展代碼

    JS字符串函數(shù)擴(kuò)展代碼

    JS字符串函數(shù)擴(kuò)展代碼,大家可以參考下prototype的使用方法,擴(kuò)展自己的字符串處理函數(shù)。
    2011-09-09
  • 微信小程序轉(zhuǎn)盤抽獎的實(shí)現(xiàn)方法

    微信小程序轉(zhuǎn)盤抽獎的實(shí)現(xiàn)方法

    這篇文章主要為大家詳細(xì)介紹了微信小程序轉(zhuǎn)盤抽獎的實(shí)現(xiàn)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 淺談json取值(對象和數(shù)組)

    淺談json取值(對象和數(shù)組)

    下面小編就為大家?guī)硪黄獪\談json取值(對象和數(shù)組)。小編覺得挺不錯的, 現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • nestjs返回給前端數(shù)據(jù)格式的封裝實(shí)現(xiàn)

    nestjs返回給前端數(shù)據(jù)格式的封裝實(shí)現(xiàn)

    這篇文章主要介紹了nestjs返回給前端數(shù)據(jù)格式的封裝實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 關(guān)于同時使用swiper和echarts遇到的問題及解決方法

    關(guān)于同時使用swiper和echarts遇到的問題及解決方法

    這篇文章主要介紹了關(guān)于同時使用swiper和echarts遇到的問題及解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • JavaScript日期選擇功能示例

    JavaScript日期選擇功能示例

    這篇文章主要介紹了JavaScript日期選擇功能,結(jié)合實(shí)例形式分析了javascript日期與時間相關(guān)操作技巧,需要的朋友可以參考下
    2017-01-01
  • JS聲明對象時屬性名加引號與不加引號的問題及解決方法

    JS聲明對象時屬性名加引號與不加引號的問題及解決方法

    這篇文章主要介紹了JS聲明對象時屬性名加引號與不加引號的問題及解決方法,需要的朋友可以參考下
    2018-02-02

最新評論

婺源县| 科技| 红桥区| 锦州市| 永吉县| 交城县| 连南| 靖远县| 杨浦区| 行唐县| 台南县| 奎屯市| 日喀则市| 康平县| 永善县| 沅陵县| 逊克县| 玉树县| 榕江县| 内乡县| 景东| 建阳市| 墨脱县| 阳高县| 大新县| 伽师县| 南通市| 广东省| 金昌市| 宁城县| 进贤县| 曲阳县| 崇左市| 特克斯县| 石狮市| 九龙县| 杭锦后旗| 海原县| 卢湾区| 石台县| 大悟县|