Browse Source

修改倒计时组件计算的规则

master
Gao xiaosong 4 years ago
parent
commit
10f94e6178
  1. 194
      components/CountDown.vue

194
components/CountDown.vue

@ -1,100 +1,104 @@
<template> <template>
<view class="time"> <view class="time">
{{ tipText }} {{ tipText }}
<text class="styleAll" v-if="isDay === true">{{ day }}</text> <text class="styleAll" v-if="isDay === true">{{ day }}</text>
<text class="timeTxt">{{ dayText }}</text> <text class="timeTxt">{{ dayText }}</text>
<text class="styleAll">{{ hour }}</text> <text class="styleAll">{{ hour }}</text>
<text class="timeTxt">{{ hourText }}</text> <text class="timeTxt">{{ hourText }}</text>
<text class="styleAll">{{ minute }}</text> <text class="styleAll">{{ minute }}</text>
<text class="timeTxt">{{ minuteText }}</text> <text class="timeTxt">{{ minuteText }}</text>
<text class="styleAll">{{ second }}</text> <text class="styleAll">{{ second }}</text>
<text class="timeTxt">{{ secondText }}</text> <text class="timeTxt">{{ secondText }}</text>
</view> </view>
</template> </template>
<script> <script>
export default { export default {
name: 'CountDown', name: "CountDown",
props: { props: {
// //
tipText: { tipText: {
type: String, type: String,
default: '倒计时' default: "倒计时"
}, },
dayText: { dayText: {
type: String, type: String,
default: '天' default: "天"
}, },
hourText: { hourText: {
type: String, type: String,
default: '时' default: "时"
}, },
minuteText: { minuteText: {
type: String, type: String,
default: '分' default: "分"
}, },
secondText: { secondText: {
type: String, type: String,
default: '秒' default: "秒"
}, },
datatime: { datatime: {
type: Number, type: Number,
default: 0 default: 0
}, },
isDay: { isDay: {
type: Boolean, type: Boolean,
default: true default: true
} }
}, },
data: function() { data: function () {
return { return {
day: '00', day: "00",
hour: '00', hour: "00",
minute: '00', minute: "00",
second: '00' second: "00"
}; };
}, },
created: function() { created: function () {
this.show_time(); this.show_time();
}, },
mounted: function() {}, mounted: function () {},
methods: { methods: {
show_time: function() { show_time: function () {
let that = this; let that = this;
function runTime() { function runTime() {
// //
let intDiff = that.datatime - new Date() / 1000; // let intDiff = that.datatime - Date.parse(new Date()) / 1000; //
let day = 0, let day = 0,
hour = 0, hour = 0,
minute = 0, minute = 0,
second = 0; second = 0;
if (intDiff > 0) { if (intDiff > 0) {
// //
if (that.isDay === true) { if (that.isDay === true) {
day = Math.floor(intDiff / (60 * 60 * 24)); day = Math.floor(intDiff / (60 * 60 * 24));
} else { } else {
day = 0; day = 0;
} }
hour = Math.floor(intDiff / (60 * 60)) - day * 24; hour = Math.floor(intDiff / (60 * 60)) - day * 24;
minute = Math.floor(intDiff / 60) - day * 24 * 60 - hour * 60; minute = Math.floor(intDiff / 60) - day * 24 * 60 - hour * 60;
second = Math.floor(intDiff) - day * 24 * 60 * 60 - hour * 60 * 60 - minute * 60; second =
if (hour <= 9) hour = '0' + hour; Math.floor(intDiff) -
if (minute <= 9) minute = '0' + minute; day * 24 * 60 * 60 -
if (second <= 9) second = '0' + second; hour * 60 * 60 -
that.day = day; minute * 60;
that.hour = hour; if (hour <= 9) hour = "0" + hour;
that.minute = minute; if (minute <= 9) minute = "0" + minute;
that.second = second; if (second <= 9) second = "0" + second;
} else { that.day = day;
that.day = '00'; that.hour = hour;
that.hour = '00'; that.minute = minute;
that.minute = '00'; that.second = second;
that.second = '00'; } else {
} that.day = "00";
} that.hour = "00";
runTime(); that.minute = "00";
setInterval(runTime, 1000); that.second = "00";
} }
} }
}; runTime();
setInterval(runTime, 1000);
}
}
};
</script> </script>

Loading…
Cancel
Save