javascriptで時間になったら消す

javascriptで設定日時になったら消したり出したり
複数設定も行ける

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<script>
/**
 * HTMLエレメント内に書かれたdata属性の日付に従い、
 * コンテンツを表示・非表示処理する。
 */
window.onload = () => {
  const elements = document.querySelectorAll('.js-timer');
  elements.forEach((el) => {
    const now = new Date().getTime();
    const start = new Date(el.dataset.start).getTime();
    const end = new Date(el.dataset.end).getTime();
    let flag = false; // Global Flag
    /**
     * 現在が開始日以降か判定
     *
     * @return Boolean;
     */
    const checkerStart = () => {
      if (now > start) {
        return true;
      } else {
        return false;
      }
    };
    /**
     * 現在が終了日以前か判定
     *
     * @return Boolean;
     */
    const checkerEnd = () => {
      if (now < end) {
        return true;
      } else {
        return false;
      }
    };
    /*
     * メイン判定処理
     */
    if (start && end) {
      if (checkerStart() && checkerEnd()) flag = true;
    } else if (start && !end) {
      if (checkerStart()) flag = true;
    } else if (!start && end) {
      if (checkerEnd()) flag = true;
    } else {
      flag = false;
    }
    if (!flag) el.setAttribute('style', 'display: none;');
  });
};
</script>
 
 
<span class="js-timer" data-end="2022/09/25 01:27">
<div class="button1">
<a href="#">9.25 1:27に消えます</a>
</div>
</span>
 
<span class="js-timer" data-end="2022/09/26 13:00">
<div class="button1">
<a href="#">9.26 13:00に消えます</a>
</div>
</span>

勉強させてもらったサイト

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です