欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

微信小程序?qū)崿F(xiàn)答題倒計時

 更新時間:2022年09月09日 14:27:14   作者:白面葫蘆娃·煎餅  
這篇文章主要為大家詳細介紹了微信小程序?qū)崿F(xiàn)答題倒計時,自定義計時器功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

想做一個答題的計時器效果,本文為大家分享了微信小程序?qū)崿F(xiàn)答題倒計時的具體代碼,供大家參考,具體內(nèi)容如下

思路

利用canvas不停的畫弧線

效果

代碼

wxml

<view class='container'>

? <view class="bg">
? ? {{stepText}}s
? </view>
? ?<canvas class='bgCanvas' canvas-id='bgCanvas'></canvas>
</view>

<button bindtap='clickStartBtn'>開始倒計時</button>
<button bindtap='reStartBtn'>重置</button>

wxss

.container{
? ? /**background-color: wheat;*/
? ? width:100%;
? ? height:100px;
??
? ? position: relative;
? ? padding:0 0;
? ? margin:10rpx;
? ? background-color: rgb(27, 122, 167);

? ? display: flex;
? ? flex-direction: column;
? ? align-items: center;
? ? justify-content: center;
}

.bg{
??
? ?border-radius: 50%;
? ?border: 6rpx solid #DCDCDC;
? ?width: 120rpx;
? ?height: 120rpx;
? ?text-align: center;
? ?line-height: 135rpx;
? ?color: white;
}

.bgCanvas{
? ? width:200rpx;
? ? height:200rpx;
? ? margin: 0 auto;
? ? position: absolute;
? ??
? ??
}
.stepText{
? /**font-weight: bold;*/
? font-size: 60rpx;
? color: white;
? margin-top: 50rpx;
}

js

const ctx = wx.createCanvasContext("bgCanvas")
Page({

? /**
? ?* 頁面的初始數(shù)據(jù)
? ?*/
? data: {
? ? stepText: 5 ?//設置倒計時初始值
? },

? getCircle: function(num) {
? ? //開始創(chuàng)建一個路徑,需要調(diào)用fill或者stroke才會使用路徑進行填充或描邊。
? ? //begin another path
? ? ctx.beginPath()
? ? //設置線條端點樣式 ?半圓 ?不然默認是一條線
? ? ctx.setLineCap('round')
? ? ctx.setLineWidth(6)
? ? // 起始弧度 12點鐘 ? ? ?
? ? ctx.arc(50, 50, 31, 1.5 * Math.PI, num * Math.PI, true)
? ? ctx.setStrokeStyle('#00E5EE')

? ? //畫出淡藍色的內(nèi)圈?
? ? ctx.stroke()

? ? //告訴<canvas/>組件你要將剛剛的描述繪制上去
? ? ctx.draw()
? },

? /**
? ?* 生命周期函數(shù)--監(jiān)聽頁面初次渲染完成
? ?*/
? onReady: function () {
? ? /**設置線條寬度
? ? ctx.setLineWidth(7)
? ? //畫一條弧線 圓的x坐標 y坐標 ?圓的半徑 ?起始弧度,單位弧度(在3點鐘方向) 終止弧度
? ? ctx.arc(50, 50, 35, 0, 2 * Math.PI, false)
? ? //設置線條樣式 ? 設置邊框顏色。
? ? ctx.setStrokeStyle("#F5F5F5")
? ? //畫出當前路徑的邊框。 對當前路徑進行描邊 ?白色背景圓邊
? ? ctx.stroke()*/
? ? this.getCircle(-0.5);

? ??


? },

? reStartBtn: function(){
? ? this.getCircle(-0.5);
? ? this.setData({
? ? ? stepText:5
? ? })
? },

? //點擊開始倒計時按鈕
? clickStartBtn: function () {
? ? var that = this
? ??
? ? //定義倒計時
? ? var step = that.data.stepText; ?
? ?
? ? var ?timer;
? ? clearInterval(timer);

? ? //從12點 ?開始繪制
? ? var num = -0.5;
? ? //每次繪制添加的角度 0.04 ? ?一個圓 是 2*Math.PI ? 5秒要跑50次?

? ? //2/50 就是每次要增加的角度
? ? var decNum = 2 / step / 10
? ? //可按照指定的周期(以毫秒計)來調(diào)用函數(shù) ?每1毫秒畫一次
? ?//定時器
? ?timer= setInterval(function () {

? ? ? that.setData({
? ? ? ? stepText: parseInt(step)//去掉小數(shù)保留整數(shù)
? ? ? })
? ? ? //toFixed() 方法可把 Number 四舍五入為指定小數(shù)位數(shù)的數(shù)字。
? ? ? //每執(zhí)行一次 都減去100毫秒 0.1s ? 更新圓框中間的秒
? ? ? step = (step - 0.1).toFixed(1)
? ? ?
? ? ? // 概念就是 1.5 ---->1.5?
? ? ? num += decNum
? ? ? //重新繪制圓的終止節(jié)點
? ? ? //num.toFixed(2)可以四舍五入,保留兩位小數(shù),但會轉換為String類型
? ? ? num = num.toFixed(2)
? ? ? num = parseFloat(num);

? ? ? if (num != 1.5) {
? ? ? ? that.getCircle(num);
? ? ? } else {
? ? ? ? ctx.draw()
? ? ? }
? ??

? ? ? if (step <= 0) {
? ? ? ? clearInterval(timer) ?//銷毀定時器

? ? ? }

? ? }, 100)
? ? //


? },
})

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

相關文章

  • 微信小程序官方動態(tài)自定義底部tabBar的例子

    微信小程序官方動態(tài)自定義底部tabBar的例子

    這篇文章主要介紹了微信小程序官方動態(tài)自定義底部tabBar的例子,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • js獲取滾動距離的方法

    js獲取滾動距離的方法

    這篇文章主要介紹了js獲取滾動距離的方法,涉及javascript針對頁面滾動條的相關操作技巧,需要的朋友可以參考下
    2015-05-05
  • JavaScript中reduce方法的用法及使用場景

    JavaScript中reduce方法的用法及使用場景

    reduce()方法對數(shù)組中的每個元素按序執(zhí)行一個提供的reducer函數(shù),每一次運行 reducer會將先前元素的計算結果作為參數(shù)傳入,最后將其結果匯總為單個返回值,今天我們就介紹一下reduce的幾種簡單使用場景,需要的朋友可以參考下
    2023-08-08
  • 淺談JavaScript原型鏈

    淺談JavaScript原型鏈

    這篇文章主要為大家詳細介紹了JavaScript原型鏈,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2023-04-04
  • JavaScript+html實現(xiàn)前端頁面隨機二維碼驗證

    JavaScript+html實現(xiàn)前端頁面隨機二維碼驗證

    這篇文章主要為大家詳細介紹了JavaScript+html實現(xiàn)前端頁面隨機二維碼驗證,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • 手機端轉換rem適應

    手機端轉換rem適應

    本文主要介紹了手機端轉換rem適應的方法實例。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-04-04
  • 淺談Webpack下多環(huán)境配置的思路

    淺談Webpack下多環(huán)境配置的思路

    這篇文章主要介紹了淺談Webpack下多環(huán)境配置的思路,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • uniapp?手機驗證碼輸入框?qū)崿F(xiàn)代碼(隨機數(shù)、倒計時、隱藏手機號碼中間四位)可以直接使用

    uniapp?手機驗證碼輸入框?qū)崿F(xiàn)代碼(隨機數(shù)、倒計時、隱藏手機號碼中間四位)可以直接使用

    這篇文章主要介紹了uniapp?手機驗證碼輸入框(隨機數(shù)、倒計時、隱藏手機號碼中間四位),實現(xiàn)思路通過創(chuàng)建六個正方形的view,然后創(chuàng)建一個數(shù)字input,最大輸入長度為六位(根據(jù)驗證碼的長度),再將input隱藏掉,獲取到的值分別放到六個view中,需要的朋友可以參考下
    2023-02-02
  • JavaScript編寫簡單的計算器

    JavaScript編寫簡單的計算器

    這篇文章主要介紹了JavaScript如何編寫簡單的計算器,功能很簡單,可以實現(xiàn)加減乘除功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2015-11-11
  • 基于JS實現(xiàn)導航條flash導航條

    基于JS實現(xiàn)導航條flash導航條

    flash導航條在網(wǎng)站建設中應用比較廣泛,此種效果給瀏覽者帶來極好的視覺效果,非常棒,下面小編給大家介紹基于JS實現(xiàn)導航條flash導航條,非常不錯,具有參考借鑒價值,感興趣的朋友一起學習吧
    2016-06-06

最新評論