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

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

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

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

2回答

5018閲覧

分、秒のカウントダウンプログラムに残り時間、日数まで表示、設定可能にしたい

peace_1

総合スコア14

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

2クリップ

投稿2017/09/21 04:15

編集2022/01/12 10:55

現在プログラムを動作させると分を秒を入力する欄があり入力後スタートを押すとカウントダウンします。
そこにさらに残り時間と日数も表示させたいです。
サンプルプログラムから持ってきたのですが
var min=document.timer.elements[0].value;
var sec=document.timer.elements[1].value;
の[]の数字の理由や
tmWrite(min*60+sec-1);
このプログラムが表している内容が分かりません。
まだまだ不明な点がありますが、とりあえず動かしてから考えたいです。
よろしくお願いします。

HTML

1<script> 2 3var timer1; //タイマーを格納する変数(タイマーID)の宣言 4 5 6//カウントダウン関数を1000ミリ秒毎に呼び出す関数 7function cntStart() 8{ 9 document.timer.elements[2].disabled=true; 10 timer1=setInterval("countDown()",1000); 11} 12 13//タイマー停止関数 14function cntStop() 15{ 16 document.timer.elements[2].disabled=false; 17 clearInterval(timer1); 18} 19 20//カウントダウン関数 21function countDown() 22{ 23 var min=document.timer.elements[0].value; 24 var sec=document.timer.elements[1].value; 25 26 if( (min=="") && (sec=="") ) 27 { 28 alert("時刻を設定してください!"); 29 reSet(); 30 } 31 else 32 { 33 if (min=="") min=0; 34 min=parseInt(min); 35 36 if (sec=="") sec=0; 37 sec=parseInt(sec); 38 39 tmWrite(min*60+sec-1); 40 } 41} 42 43//残り時間を書き出す関数 44function tmWrite(int) 45{ 46 int=parseInt(int); 47 48 if (int<=0) 49 { 50 reSet(); 51 alert("時間です!"); 52 } 53 else 54 { 55 //残り分数はintを60で割って切り捨てる 56 document.timer.elements[0].value=Math.floor(int/60); 57 //残り秒数はintを60で割った余り 58 document.timer.elements[1].value=int % 60; 59 var msg = document.timer.elements[0].value + "分"+ document.timer.elements[1].value + "秒"; // 表示文作成 60 document.getElementById("PassageArea").innerHTML = msg; // 表示更新 61 } 62} 63 64 65//フォームを初期状態に戻す(リセット)関数 66function reSet() 67{ 68 document.timer.elements[0].value="0"; 69 document.timer.elements[1].value="0"; 70 document.timer.elements[2].disabled=false; 71 clearInterval(timer1); 72} 73 74</script> 75 76</head> 77<body> 78 79<form name="timer"> 80<input type="text" value="" > 分 <input type="text" value=""> 秒 81<input type="button" value="スタート" onclick="cntStart()" class="sbt"> 82<input type="button" value="ストップ" onclick="cntStop()" class="sbt" > 83</form> 84 85<h4>あと</h4> 86<h2 id="PassageArea"></h2>

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

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

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

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

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

showkit

2017/09/21 04:22

https://teratail.com/tour ↑の「シンタックスハイライト・マークダウン」の箇所を読んで、コードはコードとして記述していただけませんか。
kei344

2017/09/21 04:51

「何」が「どのように」わからないのか、コードのどの部分で詰まっているのかなどを、出ているエラーなどと併せて、具体的に記述されたほうが回答を得られやすいと思います。
kei344

2017/09/21 05:58

ご自身で書かれたコードで無いのであれば、参照した書籍名か記事のURLとタイトルを提示ください。また、「とりあえずコードをください」は推奨されていません。https://teratail.com/help/avoid-asking
guest

回答2

0

[]の数字

フォームコントロールのインデックスです。
わかりにくいし変更に弱いので、名前を付けてそれでアクセスしたほうがいいと思います。

HTML

1<input type="text" value="" name="min"> 分 <input type="text" value="" name="sec"> 秒

https://developer.mozilla.org/ja/docs/Web/API/HTMLFormElement/elements

プログラムが表している内容

コメントにある通り、残り時間を書き出す関数ですね。たとえば、tmWrite(70)を呼んでみれば、"1分10秒"と表示されるのがわかると思います。

投稿2017/09/21 07:10

x_x

総合スコア13749

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

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

0

すいません、回答ではなく質問するときに注意してほしいことを言います。

javascript

1 2"```JavaScript" 3プログラムの中身etc... 4"```" 5

質問文のプログラムをコメントに書いてあるように書いてあげてください。

「```言語」
この言語という部分は使っている言語に応じて書き換えてください。

投稿2017/09/21 04:38

編集2017/09/21 04:46
RagnAnet1373

総合スコア69

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

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

showkit

2017/09/21 04:44

失礼かとは思いますがこのコードは「java」ではなく「javascript」かと思います。
RagnAnet1373

2017/09/21 04:45

あ、そうですね・・・。 今やっている方で書いちゃってました。 訂正をしときます。
peace_1

2017/09/21 04:49

修正しました。 ご丁寧にありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問