質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

1856閲覧

マルチタイマーアプリ

xxxxxxx

総合スコア50

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2017/01/03 02:52

javascript

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4<link rel="stylesheet" href="Webapp.css"> 5<title>MultiTimer</title> 6<script type="text/javascript"> 7var Timer; 8 9function cntStart() 10{ 11 document.timer.elements[2].disabled=true; 12 timer=setInterval("countDown()",1000); 13} 14function cntStop() 15{ 16 document.timer.elements[2].disabled=false; 17 clearInterval(timer); 18} 19function countDown() 20{ 21 var min=document.timer.elements[0].value; 22 var sec=document.timer.elements[1].value; 23 24 if( (min=="") && (sec=="") ) 25 { 26 alert("タイマーが設定されていません!"); 27 reSet(); 28 } 29 else 30 { 31 if (min=="") min = 0; 32 min=parseInt(min); 33 34 if (sec=="") sec = 0; 35 sec = parseInt(sec); 36 37 tmWrite(min * 60 + sec - 1); 38 } 39} 40function tmWrite(int) 41{ 42 int = parseInt(int); 43 44 if (int <= 0) 45 { 46 reSet(); 47 alert("時間です"); 48 } 49 else 50 { 51 document.timer.elements[0].value = Math.floor(int/60); 52 document.timer.elements[1].value = int % 60; 53 } 54} 55function reSet() 56{ 57 document.timer.elements[0].value = "0"; 58 document.timer.elements[1].value = "0"; 59 document.timer.elements[2].disabled = false; 60 clearInterval(timer); 61} 62</script> 63</head> 64<body onload = "init()"> 65 <h1>マルチタイマー</h1> 66 <form name = "timer"> 67 <input type = "button" value = "タイマーの追加" style="width:200px" onclick=""> 68 <input type = "button" value = "タイマーの削除" style="width:200px" onclick=""><br> 69 <h2>タイマー名:<input type = "text" value = "" ><br> 70 <input type = "text" value = "" style = "text-align: right">71 <input type = "text" value = "" style = "text-align: right"><br> 72 <input type = "button" value = "スタート" onclick = "cntStart()"> 73 <input type = "button" value = "ストップ" onclick = "cntStop()"> 74 </h2> 75 </form> 76</body> 77</html> 78

現在、上記のコードで複数のタイマーが使えるアプリケーションを作っています。分からないところが3つあるので教えていただきたく投稿しました。散々調べましたが、うまくいかないのでわかる方がいましたらよろしくお願いいたします。

①タイマーの追加ボタンを押した分だけタイマーが増えていき、タイマーの削除ボタンを押したぶんだけタイマーが減っていくようにしたい。(onclick=""の中に何を入れれば良いのか分からない。)
②数字を入力してスタートを押すと①の二つのボタンのところに「NaN」と表示されてしまう。
③分と秒のところに数字以外または空白の状態でスタートボタンを押したら「タイマーが設定されていません!」とalertするようにしたい。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/01/03 13:28

コードを試しましたが全く動きません、エレメントの指定もめちゃくちゃです
guest

回答1

0

ベストアンサー

複数のタイマーを同時に回したいということでしょうか?
であればタイマーを管理するIDは配列などを利用すると良いでしょう

投稿2017/01/04 02:05

yambejp

総合スコア114814

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問