-PR-
解決済み

カウントダウンJavascript 

  • 困ってます
  • 質問No.58815
  • 閲覧数441
  • ありがとう数5
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 42% (28/66)

Javascriptでホームページにカウントダウンを設置しょうと思っているのですが…
やはり、こったモノをと本などを買って勉強しています。
そこでお尋ねしたいのですが、残り ○日○時間○分○,○○秒といったように
○,○○秒というのはできるんでしょうか?よろしくお願いします。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2

> ○,○○秒

確認ですが、このカンマって小数点ですよねこの場合?
だとしたら、こんな感じになるでしょうか……。
中の変数の値は適宜調節してください。
あと、見るマシンによっては激重で不満爆発になるやもしれませんので注意。

<HTML>
<HEAD>
<TITLE>かうんとだうん♪</TITLE>
<SCRIPT language="JavaScript">
<!--
var timerID = 10;
var KIZAMImilliSec = 33; // 1000分の33秒ごとにカウント

var year = 2010;
var month = 5;
var day = 1;
var hour = 0;
var minute = 0;
var second = 0;
origDate = new Date;
origDate.setYear(year);
origDate.setMonth(month-1);
origDate.setHours(hour);
origDate.setMinutes(minute);
origDate.setSeconds(second);


function putValue()
{
nowDate = new Date;
var restMilliSec = origDate.getTime() - nowDate.getTime();
if(restMilliSec > 0){
var restYear = Math.floor(restMilliSec / (1000*60*60*24*365));
var rest = "" + restYear + "年 ";
restMilliSec -= restYear*1000*60*60*24*365;

var restDay = Math.floor(restMilliSec / (1000*60*60*24));
rest += "" + restDay + "日 ";
restMilliSec -= restDay*1000*60*60*24;

var restHour = Math.floor(restMilliSec / (1000*60*60));
rest += "" + restHour + "時間 ";
restMilliSec -= restHour*1000*60*60;

var restMinute = Math.floor(restMilliSec / (1000*60));
rest += "" + restMinute + "分 ";
restMilliSec -= restMinute*1000*60;

var restSecond = Math.floor(restMilliSec / 1000);
restMilliSec -= restSecond*1000;
rest += "" + restSecond + "秒" + restMilliSec;
document.dummy.textbox.value = "" + rest;
}else{
document.dummy.textbox.value = "おめでとう♪";
}

clearTimeout(timerID);
timerID = setTimeout("putValue()", KIZAMImilliSec);
}
// -->
</SCRIPT>
</HEAD>
<BODY onLoad="putValue()">
<SCRIPT language="JavaScript">
<!--
document.write(year + "年" + month + "月" + day + "日");
document.write(hour + "時" + minute+ "分" + second + "秒");
document.writeln("まで あと……");


// -->
</SCRIPT>

<FORM name="dummy">
<INPUT type="text" name="textbox" size="50">
</FORM>
</BODY>
</HTML>
お礼コメント
siroyagikuroyagi

お礼率 42% (28/66)

大変親切に回答して頂き感謝いたします。
投稿日時 - 2001-04-03 10:59:18
関連するQ&A
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル9

ベストアンサー率 38% (29/75)

結論から先にいいますと、おそらく「原則的にはできない」と思います。 カウントダウンを作るのにはDateオブジェクトから時間を取り出しますよね。でもそのメソッドには"○,○○…"を取り出すものがありません。なのでシステム的に表現することはできません。 ただ、この方法を使えばできそうな気もするんですが。(↓) Dateオブジェクトから",○○"の部分を取り出す ...続きを読む
結論から先にいいますと、おそらく「原則的にはできない」と思います。
カウントダウンを作るのにはDateオブジェクトから時間を取り出しますよね。でもそのメソッドには"○,○○…"を取り出すものがありません。なのでシステム的に表現することはできません。

ただ、この方法を使えばできそうな気もするんですが。(↓)
Dateオブジェクトから",○○"の部分を取り出すことはできないのでただの変数(henと仮定)を利用し、1秒間に9回カウントしてはまた0に戻す関数を作ります。henを"."をはさんで"秒"の変数にくっつけます。(←○.○秒といったように)
この一連の動作をタイマーにセットして1秒間に10回カウントダウンの表示を更新します。10回目にはDateオブジェクトからの"秒"が更新されhenの値も0に戻るので、傍目にはミリ秒までカウントしているようにも見えます。
ただ実際に試したことがないので(今思いついただけです)、机上の絵空事に終わるかもしれませんが。
お礼コメント
siroyagikuroyagi

お礼率 42% (28/66)

素早い回答有り難うございました。
投稿日時 - 2001-04-03 11:01:20


このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ