質問編集履歴
3
より具体的に編集
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
|
6
6
|
|
7
|
-
ver getupにはclockpickerによって入力された時間が「7:00」といったように入ります。
|
7
|
+
ver getupにはclockpickerによって入力された時間$(".form-control").val()が「7:00」といったように入ります。
|
8
8
|
|
9
9
|
|
10
10
|
|
2
質問の簡略化
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,64 +4,20 @@
|
|
4
4
|
|
5
5
|
|
6
6
|
|
7
|
-
|
7
|
+
ver getupにはclockpickerによって入力された時間が「7:00」といったように入ります。
|
8
8
|
|
9
9
|
|
10
10
|
|
11
|
-
説明が下手ですいません。説明に不備があればその都度追記します。
|
12
|
-
|
13
|
-
###詳細
|
14
|
-
|
15
|
-
アラームアプリを制作する予定で、現在時刻と指定した時刻を秒数に変換し、その時差を求めてsetTimeoutを用いることによって指定時刻にアラームを起動&画面遷移させようと考えています。
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
より楽な方法があればご教授頂けると幸いです。
|
20
|
-
|
21
11
|
###該当のソースコード
|
22
12
|
|
23
|
-
```
|
13
|
+
```javascript
|
24
|
-
|
25
|
-
//現在の時刻を秒数にする
|
26
|
-
|
27
|
-
var now = new Date();
|
28
|
-
|
29
|
-
var nowSecond = (now.getHours()*60*60 + now.getMinutes())*60 + now.getSeconds() ;
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
//目標時刻を秒数にする
|
34
|
-
|
35
|
-
/****************************************************************************/
|
36
14
|
|
37
15
|
var getup = new Date($(".form-control").val());
|
38
16
|
|
39
17
|
var setSecond = (getup.getHours()*60*60 + getup.getMinutes()*60);
|
40
18
|
|
41
|
-
|
19
|
+
```
|
42
20
|
|
43
|
-
|
21
|
+
###問題点
|
44
22
|
|
45
|
-
//あと何秒で目標時刻になるか、差を求める(秒)
|
46
|
-
|
47
|
-
|
23
|
+
上記のソースコードで実行すると、setSecondにはNaNという値が入りました。
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
//マイナスならすでに 今日は目標時刻を過ぎているということなので1日加算する
|
52
|
-
|
53
|
-
if( difSecond < 0 ) difSecond += 24*60*60; //1日の秒数を加算
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
//時間後画面遷移
|
58
|
-
|
59
|
-
alert("あと"+ difSecond + "秒で" + getup.getHours() + "時" + getup.getMinutes() + "分です");
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
//秒数カウント後、画面遷移
|
64
|
-
|
65
|
-
return setTimeout(document.querySelector('#navigator').pushPage('page2.html'), difSecond);
|
66
|
-
|
67
|
-
```
|
1
内容に不備
test
CHANGED
File without changes
|
test
CHANGED
@@ -62,6 +62,6 @@
|
|
62
62
|
|
63
63
|
//秒数カウント後、画面遷移
|
64
64
|
|
65
|
-
return setTimeout(document.querySelector('#navigator').pushPage('
|
65
|
+
return setTimeout(document.querySelector('#navigator').pushPage('page2.html'), difSecond);
|
66
66
|
|
67
67
|
```
|