@imDrOne

Как остановить таймер, когда он дойдет до 00:00:00 и начать считать 'наверх'?

Всем доброго времени суток! Мне нужно реализовать таймер, который отсчитывает обратно разницу во времени полученную в следствии вычитания Заданного времени (в формате ДД.ММ.ГГ чч:мм:сс) и Текущего времени (в таком же формате) и когда он отсчитает до 00:00:00, то нужно чтобы он отсчитывал уже 'наверх'. Как реализовать 'остановку' и отсчет 'наверх'
<div class="green--text" v-if="operation.idle_el === 1" v-html="getDiff()"></div>

data () {
return {
  moment: moment.locale('ru'),
  diff: null,
  startTime: null,
  endTime: moment('20.08.19 17:50:00', 'DD.MM.YY HH:mm:ss').format('LTS')
}},
methods: {
getDiff () {
  this.diff = moment.utc(moment.duration(this.endTime) - moment.duration(this.startTime)).format('LTS')
  console.log(this.diff)
  // return '<div>' + this.diff + '</div>'
  return this.diff
},
updateCurrentTime () {
  this.startTime = moment().format('LTS')
}
},
created () {
this.startTime = moment().format('LTS')
setInterval(() => this.updateCurrentTime(), 1 * 1000)
}
  • Вопрос задан
  • 532 просмотра
Пригласить эксперта
Ответы на вопрос 1
xa3apg
@xa3apg
Unity / Back-end / Front-end Developer
Проще адаптировать готовый вариант fareez.info/blog/countdown-timer-using-vuejs .
Для определения, плюсовой или минусовой таймер просто считать
computed: {
  isNegative() {
    return ((this.now - this.date) / 60000) < 0;
  }
}

И для более точного округления с учетом минусового и плюсового таймера при минусе дополнительно приводить в минутах часах и секундах к math.ceil а при положительном к math.floor , иначе будет на 1 цифру разниться ( вместо -30 минут показывать -31 и на оборот )
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы