@s24344

Как правильно сравнить время (native javascript)?

Здравствуйте. Подскажите, пожалуйста, как правильно решить следующую задачу:
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link rel="stylesheet" href="./styles.css">
</head>

<body>
    <div class="app" data-component="app">
        app
    </div>
    <script src="./main.js"></script>
</body>

</html>

class Main {
  constructor(el) {
    this.el = el;

    this.startDate = '';
    this.currentDate = '';

    this.init();
  }

  init() {
    if (this.el) {
      this.el.addEventListener('click', this.onClickPrimaryEl);
    }
  }

  onClickPrimaryEl = () => {
    if (this.startDate === '' || this.startDate   ) { // Если прошло больше 15 минут с текущего момента вызова функции
      this.startDate = new Date();
      console.log('true');
    } else { // Если прошло меньше 15 минут с текущего момента времени
      console.log('false');
    }
  }
}

const main = new Main(document.querySelector('[data-component="app"]'));
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
zendor
@zendor
UPD: исправил.
class Main {
  constructor(el) {
    this.el = el;
    this.startDate = false;
  }
  init() {
    if (this.el) this.el.addEventListener('click', this.onClickPrimaryEl.bind(this));
  }
  onClickPrimaryEl() {
    const currentDate = Date.now();
    if (this.startDate && (currentDate - this.startDate > 900000)) {

    } else {

    }
    this.startDate = currentDate;
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы