ホームページ上で指定した日の指定した時間までのカウントダウンを表示させる方法を教えてください。


X月X日のX時X分X秒まであと○時間X秒、と表示が出て(○日○時間○秒ではなく、○時間○秒です)、秒数がリアルタイムに変化するものが必要です。

javascriptのページをいろいろ見たのですが、思ったものが見つからないし、急いでいて勉強する時間がないので、コピーして張り付けたらすぐに使えるものが必要です。

よろしくお願いします。

回答の条件
  • 1人50回まで
  • 登録:2006/07/26 22:38:38
  • 終了:2006/07/27 10:15:04

ベストアンサー

id:Mook No.3

Mook回答回数1312ベストアンサー獲得回数3912006/07/27 09:32:38

ポイント100pt

>X月X日のX時X分X秒まであと○時間X秒

とあったので仕様どおりに作ったのですが、期待の表示ではなかったようですね。

script 内の関数部分を下記に置き換えてください。

function targetTime() {

var nt = new Date();

var df = ( goalDate.getTime() - nt.getTime() ) / 1000;

document.tform.tname.value =

goalDate.getFullYear() + "年"

+ ( goalDate.getMonth() + 1 ) + "月"

+ goalDate.getDate() + "日の"

+ goalDate.getHours() + "時"

+ goalDate.getMinutes() + "分"

+ goalDate.getSeconds() + "秒まであと"

+ Math.floor( df / 3600 ) + "時間"

+ Math.floor( df / 60 ) % 60 + "分"

+ Math.floor( df % 60 ) + "秒";

window.setTimeout( "targetTime()", 1000 );

}

id:takllin

本当にありがとうございました!

解決しました。

2006/07/27 10:10:34

その他の回答(2件)

id:Mook No.1

Mook回答回数1312ベストアンサー獲得回数3912006/07/27 01:20:49

ポイント100pt

こんな感じでしょうか。

<html>

<head>

<script type="text/javascript">

<!--

// 月は0(1月)~11(12月)

var goalDate = new Date( 2006, 12 - 1, 24, 10, 20, 30 );

function targetTime() {

  var nt = new Date();

  var df = goalDate.getTime() - nt.getTime();

  document.tform.tname.value =

    goalDate.getFullYear() + "年"

    + ( goalDate.getMonth() + 1 ) + "月"

    + goalDate.getDate() + "日の"

    + goalDate.getHours() + "時"

    + goalDate.getMinutes() + "分"

    + goalDate.getSeconds() + "秒まであと"

    + Math.floor( df / 3600000 ) + "時間"

    + Math.floor( df / 1000 ) % 3600 + "秒";

  window.setTimeout( "targetTime()", 1000 );

}

-->

</script>

</head>

<body onload="targetTime()">

  <form name="tform">

    <input type="text" name="tname" size=64>

  </form>

</body>

</html>

id:takllin

ありがとうございます。

すみません。

「あと、○時間○分○秒」と表示させるにはどうしたらいいのでしょうか?

あと、秒数が1200秒のように表示されてしまうのですが60秒単位で繰り上げることは出来ませんでしょうか?

2006/07/27 08:01:29
id:daiyokozuna No.2

daiyokozuna回答回数3388ベストアンサー獲得回数752006/07/27 08:28:55

id:takllin

ありがとうございます。

うーん、分からないです。

とりあえず今の問題が片付いたら、時間をとってしっかり勉強したいと思います。

2006/07/27 10:11:13
id:Mook No.3

Mook回答回数1312ベストアンサー獲得回数3912006/07/27 09:32:38ここでベストアンサー

ポイント100pt

>X月X日のX時X分X秒まであと○時間X秒

とあったので仕様どおりに作ったのですが、期待の表示ではなかったようですね。

script 内の関数部分を下記に置き換えてください。

function targetTime() {

var nt = new Date();

var df = ( goalDate.getTime() - nt.getTime() ) / 1000;

document.tform.tname.value =

goalDate.getFullYear() + "年"

+ ( goalDate.getMonth() + 1 ) + "月"

+ goalDate.getDate() + "日の"

+ goalDate.getHours() + "時"

+ goalDate.getMinutes() + "分"

+ goalDate.getSeconds() + "秒まであと"

+ Math.floor( df / 3600 ) + "時間"

+ Math.floor( df / 60 ) % 60 + "分"

+ Math.floor( df % 60 ) + "秒";

window.setTimeout( "targetTime()", 1000 );

}

id:takllin

本当にありがとうございました!

解決しました。

2006/07/27 10:10:34

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません