回答編集履歴

4

コードの修正

2016/11/15 04:07

投稿

mukkun
mukkun

スコア882

test CHANGED
@@ -4,15 +4,17 @@
4
4
 
5
5
  ###追記
6
6
 
7
- すみません。。
7
+ 度々すみません。。ぼけぼけです。
8
8
 
9
- グローバル変数があるなら属性付与する必要ないですね
9
+ flagを追加しました
10
10
 
11
11
 
12
12
 
13
13
  ```JavaScript
14
14
 
15
- var gMoment = moment()._d; // 初回でmoment日付を取得
15
+ var gMoment = moment()._d, // 初回でmoment日付を取得
16
+
17
+ gFlag = true; // フラグ
16
18
 
17
19
 
18
20
 
@@ -24,9 +26,9 @@
24
26
 
25
27
 
26
28
 
27
- // 時間が0ったら
29
+ // 時間が0になったら
28
30
 
29
- if (_hour == 0) {
31
+ if (_hour == 0 && gFlag) {
30
32
 
31
33
  // 翌日になったらの処理
32
34
 
@@ -34,9 +36,19 @@
34
36
 
35
37
  $('.header').text(gMoment.format('YYYY年M月D日')); // moment日付の付与とテキストの変更
36
38
 
39
+ gFlag = false;
40
+
37
41
  } else {
38
42
 
39
43
  gMoment = moment()._d;
44
+
45
+
46
+
47
+ if (_hour == 1 && !gFlag) {
48
+
49
+ gFlag = true;
50
+
51
+ }
40
52
 
41
53
  }
42
54
 

3

コード修正

2016/11/15 04:07

投稿

mukkun
mukkun

スコア882

test CHANGED
@@ -1,12 +1,18 @@
1
1
  動くかわかりませんが、こういうロジックでどうでしょうか。
2
+
3
+
4
+
5
+ ###追記
6
+
7
+ すみません。。
8
+
9
+ グローバル変数があるなら属性付与する必要ないですね。
2
10
 
3
11
 
4
12
 
5
13
  ```JavaScript
6
14
 
7
- var gMoment = moment()._d;
15
+ var gMoment = moment()._d; // 初回でmoment日付を取得
8
-
9
- $('.header').attr('moment', gMoment) // 初回で「.header」にmoment日付を付与
10
16
 
11
17
 
12
18
 
@@ -14,9 +20,7 @@
14
20
 
15
21
  setInterval(function () {
16
22
 
17
- var _mDate = moment($('.header').attr('moment')), // .headerから日付を取得
18
-
19
- _hour = _mDate.format('H'); // _mDateから時間を取得
23
+ var _hour = gMoment.format('H'); // gMomentから時間を取得
20
24
 
21
25
 
22
26
 
@@ -26,15 +30,13 @@
26
30
 
27
31
  // 翌日になったらの処理
28
32
 
29
- gMoment = _mDate.add(6, 'day'); // 日を6日進める
33
+ gMoment = gMoment.add(6, 'day'); // 日を6日進める
30
34
 
31
- $('.header').attr('moment', gMoment).text(gMoment.format('YYYY年M月D日')); // moment日付の付与とテキストの変更
35
+ $('.header').text(gMoment.format('YYYY年M月D日')); // moment日付の付与とテキストの変更
32
36
 
33
37
  } else {
34
38
 
35
39
  gMoment = moment()._d;
36
-
37
- $('.header').attr('moment', gMoment);
38
40
 
39
41
  }
40
42
 

2

コードの修正

2016/11/15 03:55

投稿

mukkun
mukkun

スコア882

test CHANGED
@@ -4,7 +4,9 @@
4
4
 
5
5
  ```JavaScript
6
6
 
7
+ var gMoment = moment()._d;
8
+
7
- $('.header').attr('moment', moment()._d) // 初回で「.header」にmoment日付を付与
9
+ $('.header').attr('moment', gMoment) // 初回で「.header」にmoment日付を付与
8
10
 
9
11
 
10
12
 
@@ -24,9 +26,15 @@
24
26
 
25
27
  // 翌日になったらの処理
26
28
 
27
- var _nextWeek = _mDate.add(6, 'day'); // 日を6日進める
29
+ gMoment = _mDate.add(6, 'day'); // 日を6日進める
28
30
 
29
- $('.header').attr('moment', _nextWeek).text(_nextWeek.format('YYYY年M月D日')); // moment日付の付与とテキストの変更
31
+ $('.header').attr('moment', gMoment).text(gMoment.format('YYYY年M月D日')); // moment日付の付与とテキストの変更
32
+
33
+ } else {
34
+
35
+ gMoment = moment()._d;
36
+
37
+ $('.header').attr('moment', gMoment);
30
38
 
31
39
  }
32
40
 

1

コメント追加

2016/11/15 03:51

投稿

mukkun
mukkun

スコア882

test CHANGED
@@ -8,21 +8,25 @@
8
8
 
9
9
 
10
10
 
11
+ // 1秒毎に処理
12
+
11
13
  setInterval(function () {
12
14
 
13
- var _mDate = moment($('.header').attr('moment')),
15
+ var _mDate = moment($('.header').attr('moment')), // .headerから日付を取得
14
16
 
15
- _hour = _mDate.format('H'); // Headerから(H)を取得
17
+ _hour = _mDate.format('H'); // _mDateから時を取得
16
18
 
17
19
 
20
+
21
+ // 時間が0だったら
18
22
 
19
23
  if (_hour == 0) {
20
24
 
21
25
  // 翌日になったらの処理
22
26
 
23
- var _nextWeek = _mDate.add(6, 'day');
27
+ var _nextWeek = _mDate.add(6, 'day'); // 日を6日進める
24
28
 
25
- $('.header').attr('moment', _nextWeek).text(_nextWeek.format('YYYY年M月D日'));
29
+ $('.header').attr('moment', _nextWeek).text(_nextWeek.format('YYYY年M月D日')); // moment日付の付与とテキストの変更
26
30
 
27
31
  }
28
32