微信小程序-支付倒計(jì)時的實(shí)現(xiàn)

這次碰到了一個項(xiàng)目需求,要做支付時限,并進(jìn)行倒計(jì)時展示.實(shí)現(xiàn)圖如下:

剩余支付倒計(jì)時

服務(wù)端給了支付的剩余時間remainTime,我根據(jù)remainTime進(jìn)行處理,做出這個效果,代碼如下:

.js:

Page({

data:{

// 剩余時間

? ? // 總時間

? ? remainTime:0,

? ? // 小時

? ? remainTimeHours:'',

? ? // 分鐘

? ? remainTimeMinutes:'',

? ? // 秒

? ? remainTimeSeconds:''

}

// 剩余時間(毫秒)處理轉(zhuǎn)換時間

? transformRemainTime:function(time = 0) {

? ? var sumSeconds = parseInt(time);

? ? var hours = parseInt(sumSeconds / 60 / 60); // 時

? ? hours = util.zeroFill(`${hours}`,2);

? ? var minutes = parseInt(sumSeconds / 60 % 60); // 分

? ? minutes = util.zeroFill(`${minutes}`, 2);

? ? var seconds = parseInt(sumSeconds % 60);

? ? seconds = util.zeroFill(`${seconds}`, 2);

? ? this.setData({

? ? ? remainTimeHours:hours,

? ? ? remainTimeMinutes:minutes,

? ? ? remainTimeSeconds:seconds

? ? })

? },

? // 開始倒計(jì)時

? startCountdown: function () {

? ? var that = this

? ? var interval = setInterval(function () {

? ? ? var time = that.data.remainTime - 1;

? ? ? if (time > 0) {

? ? ? ? that.setData({

? ? ? ? ? remainTime: time

? ? ? ? });

? ? ? ? that.transformRemainTime(that.data.remainTime);

? ? ? } else {

? ? ? ? clearInterval(interval);

? ? ? ? if (that.data.send === 1) {

? ? ? ? ? that.fetchInteractionDetail(that.data.interactionId, that.data.send, that.data.wxOpenId);

? ? ? ? } else {

? ? ? ? ? that.fetchInteractionDetail(that.data.interactionId, that.data.send, app.globalData.openId);

? ? ? ? }

? ? ? }

? ? ? }

? ? ? , 1000);

? },

)}

.wxml:

<view class='pay-time'>

? ? ? ? ? <view class='time-title'>剩余支付時間:</view>

? ? ? ? ? <view class='time-content'>

? ? ? ? ? ? <text class='time-number'>{{remainTimeHours}}</text>

? ? ? ? ? ? <text class='time-symbol'>:</text>

? ? ? ? ? ? <text class='time-number'>{{remainTimeMinutes}}</text>

? ? ? ? ? ? <text class='time-symbol'>:</text>

? ? ? ? ? ? <text class='time-number'>{{remainTimeSeconds}}</text>

? ? ? ? ? </view>

? ? ? ? </view>

.wxss:

.pay-time {

? display: flex;

? align-items: center;

}

.time-title {

? font-size: 24rpx;

? color: #353535;

}

.time-content {

? margin-left: 13rpx;

? display: flex;

? align-items: center;

}

.time-number {

? border-radius: 10rpx;

? background-color: #5dbdff;

? color: #ffffff;

? font-size: 36rpx;

? height: 48rpx;

? line-height: 48rpx;

? min-width: 48rpx;

? padding: 5rpx;

? text-align: center;

}

.time-symbol {

? font-size: 36rpx;

? color: #353535;

? text-align: center;

? width: 24rpx;

? height: 48rpx;

? line-height: 48rpx;

}

注意:

我在使用如上方法時,將服務(wù)端給的時間remainTime的單位從毫秒轉(zhuǎn)換成了秒.如果要參考我的實(shí)現(xiàn)方法去做的,請注意我的轉(zhuǎn)換沒有寫在里面.請自行在代碼中添加.

謝謝大家~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi閱讀 7,854評論 0 10
  • pyspark.sql模塊 模塊上下文 Spark SQL和DataFrames的重要類: pyspark.sql...
    mpro閱讀 9,916評論 0 13
  • 我不想做那個教會你成長 然后把你拱手讓人的那個人 我不想陪你從一無所有到擁有一切的時候 你棄我而去或者我離你而去 ...
    楊摩羯閱讀 259評論 0 0

友情鏈接更多精彩內(nèi)容