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

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

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

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

HTML

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

Q&A

解決済

2回答

3842閲覧

Javascript カウントダウンタイマーについて

nnnooo

総合スコア11

JavaScript

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

HTML

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

0グッド

1クリップ

投稿2017/05/25 12:33

編集2017/05/25 14:28

初心者ですが、回答お願いします。

カウントダウンタイマーをJavascriptで作成してます。
timer.htmlで時間の設定をし、スタートすると入力画面の下にタイマー残り時間を表示させます。
時間の入力画面とは別のhtmlファイルに残り時間だけを表示させたいのですが
残り時間だけの表示の仕方がわかりません。

timer.htmlで時間を入力し、スタートすると残り時間を表示させるところまではできています。

補足
timer.htmlに入力式カウントダウンタイマーを組み込みます。
(15分00秒と入力すれば、あと15分00秒となり、そこからカウントダウンが始まるタイマーです)
timer1.htmlにtimer.htmlのあと15分00秒の部分だけを表示させたいです。
データーベースは使わない想定ですが可能でしょうか?

###timer.html

<script> var timer1; //タイマーを格納する変数(タイマーID)の宣言 //カウントダウン関数を1000ミリ秒毎に呼び出す関数 function cntStart() { document.timer.elements[2].disabled=true; timer1=setInterval("countDown()",1000); } //タイマー停止関数 function cntStop() { document.timer.elements[2].disabled=false; clearInterval(timer1); } //カウントダウン関数 function countDown() { var min=document.timer.elements[0].value; var sec=document.timer.elements[1].value; if( (min=="") && (sec=="") ) { alert("時刻を設定してください!"); reSet(); } else { if (min=="") min=0; min=parseInt(min); if (sec=="") sec=0; sec=parseInt(sec); tmWrite(min*60+sec-1); } } //残り時間を書き出す関数 function tmWrite(int) { int=parseInt(int); if (int<=0) { reSet(); alert("時間です!"); } else { //残り分数はintを60で割って切り捨てる document.timer.elements[0].value=Math.floor(int/60); //残り秒数はintを60で割った余り document.timer.elements[1].value=int % 60; var msg = document.timer.elements[0].value + "分"+ document.timer.elements[1].value + "秒"; // 表示文作成 document.getElementById("PassageArea").innerHTML = msg; // 表示更新 } } //フォームを初期状態に戻す(リセット)関数 function reSet() { document.timer.elements[0].value="0"; document.timer.elements[1].value="0"; document.timer.elements[2].disabled=false; clearInterval(timer1); } </script> </head> <body> <form name="timer"> <input type="text" value="" > 分 <input type="text" value=""> 秒 <input type="button" value="スタート" onclick="cntStart()" class="sbt"> <input type="button" value="ストップ" onclick="cntStop()" class="sbt" > </form> <h4>あと</h4> <h2 id="PassageArea"></h2>

宜しくお願い致します。

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

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

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

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

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

yambejp

2017/05/25 12:42

別のファイルに残り時間だけを表示させる・・・とは、別ウィンドウを開いて表示するのでしょうか?いまいち何をしたいのかわかりません
Lhankor_Mhy

2017/05/25 12:49

補足願います。『別のファイルに残り時間だけを表示させるファイルを作りたい』とは具体的には何でしょうか。別のファイルにファイルを作る、というのはどういう動作を指しますか? データベースのようなものを想定しているのでしょうか?
oskbt

2017/05/25 13:56

この質問にJavaは関係ないのでJavaのタグを外してください
guest

回答2

0

ベストアンサー

sessionStorage に時間を入れるようにして、「別のhtml」を開くときにそこからデータを取り出せばタイマーを継続できると思います。

【Window.sessionStorage - Web API インターフェイス | MDN】
https://developer.mozilla.org/ja/docs/Web/API/Window/sessionStorage

※ sessionStorage は文字列しか入れられないので、そのあたりは工夫する必要があります。

【javascript - Saving and retrieving Date from local storage - Stack Overflow】
https://stackoverflow.com/questions/29629458/saving-and-retrieving-date-from-local-storage

投稿2017/05/27 05:59

kei344

総合スコア69398

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

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

0

timer1.htmlのURLのハッシュに時間を持たせてリンクし、timer1.htmlでlocation.hashで取り出して処理するのはいかがでしょうか。

window.location - Web API インターフェイス | MDN

投稿2017/05/27 04:40

Lhankor_Mhy

総合スコア36074

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問