countDown = () => {
const { placeOrderTime, interval } = this.state
const startTime = placeOrderTime;//下单时的时间戳
const stopTime = new Date().getTime()//当前时间时间戳
const cTime = stopTime - startTime
//大于15分钟之后设置订单状态为失效
if (cTime > 15 * 60 * 1000) {
clearInterval(interval)
this.setState({
payStatus: PayStatus.已失效
})
return
}
//将时间戳差值转化为分钟数和秒数
const modeData = cTime % 1000;
const totalMinute = (cTime - modeData) / 1000//总秒数
const differMinuteTime = 15 * 60 - totalMinute//距离15分钟剩余的时间秒
//获取倒计时分秒数的个位,十位数字
const countDownTimeSecond = differMinuteTime % 60
const countDownTimeMinute = (differMinuteTime - countDownTimeSecond) / 60
const minuteIndividual = countDownTimeMinute % 10
const minuteTen = (countDownTimeMinute - minuteIndividual) / 10
const secondIndividual = countDownTimeSecond % 10
const secondTen = (countDownTimeSecond - secondIndividual) / 10
this.setState({
countDownTime: {
minuteIndividual,
minuteTen,
secondIndividual,
secondTen,
}
})
}
简单的倒计时
最新推荐文章于 2024-11-22 15:57:15 发布