javascriptについて
24時間を自動更新で無数回繰り返しカウントダウンする方法。
javascriptで指定した時間まで1回だけカウントダウンするスクリプトが作れることは知ってます。
「○○日まで、あと何時間何秒何」を1回カウントダウンするというのではなく、「明日まで(あるいは今日の終わりまで)を24時間形式でカウントダウンし、O時間O分0秒になったら、また、その次の日まであと24時間0分0秒を永遠に繰り返す」スクリプトを探しています。
つまり、24時間を自動更新で無数繰り返しカウントダウンする方法を探しています。
※コードを貼っていただければ非常にうれしいです。
ちなみに、こちらの方も同じような質問を「教えて!goo」と「エキサイトみんなの相談広場」でされたようですが、結局どちらも残念な結果に終わっています。
教えて!goo:http://oshiete.goo.ne.jp/qa/6584309.html
エキサイトみんなの相談広場:http://soudan.qa.excite.co.jp/qa6584309.html
※是非、皆様の力を貸していただきたい次第です。
No.6ベストアンサー
- 回答日時:
#3です。
>javascript」はチンプンカンプンです。
>そのまま、コピペして使えるコードを貼ってください。
そのままコピペできるはずなんですけれど、こちらに貼らないとコピペできない理由があるのでしょうか?
同じものを、記述を少し変えたもの。
(前のものの方がわかりやすいと思いますが、チンプンカンプンなら同でしょう)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head><title>sample</title>
<meta http-equiv="Content-Script-Type" content="text/javascript">
</head>
<body>
<div id="countdown"></div>
<script type="text/javascript">
<!--
(function(div){
setInterval(function(){
var dt = new Date(), cd = {value:""};
div(24, "時間", cd, div(60, "分", cd, div(60, "秒", cd,
(new Date(dt.getFullYear(), dt.getMonth(), dt.getDate()+1) - dt)/1000 | 0)));
document.getElementById("countdown").innerHTML = "あと" + cd.value;
}, 500);
})(function(d, u, cd, s){
var tmp = s % d;
cd.value = (tmp<10?"0":"") + tmp + u + cd.value;
return (s - tmp)/d | 0;
});
//-->
</script>
</body>
</html>
No.7
- 回答日時:
よくよく考えれば、時間をひっくり返すだけでいいのでは?
<html>
<head>
<title>test</title>
<script type="text/javascript">
window.onload=function(){doCountDown();}
function countDown() {
var now = new Date();
var hour= now.getHours();
var min= now.getMinutes();
var sec= now.getSeconds();
document.getElementById('cd1').innerHTML= "今は" + hour + "時" + min + "分" + sec + "秒";
now.setHours(-hour);
now.setMinutes(-min);
now.setSeconds(-sec);
var hour= now.getHours();
var min= now.getMinutes();
var sec= now.getSeconds();
if(hour==0 && min==0 && sec==0) hour=24; //例外処理
document.getElementById('cd2').innerHTML= "今日の終わりまであと" + hour + "時間" + min + "分" + sec + "秒";
}
function doCountDown() {setInterval(function(){countDown()}, 500);}
</script>
</head>
<body>
<div id='cd1'></div>
<div id='cd2'></div>
</body>
</html>
No.5
- 回答日時:
今をくらべるのではなく今の1秒前をつかうと便利です
<html>
<head>
<title>test</title>
<script type="text/javascript">
window.onload=function(){doCountDown();}
function countDown() {
var now = new Date();
var hour= now.getHours();
var min= now.getMinutes();
var sec= now.getSeconds();
document.getElementById('cd1').innerHTML= "今は" + hour + "時" + min + "分" + sec + "秒";
now.setSeconds(now.getSeconds() -1); //ここがポイント
var hour= 23 - now.getHours();
var min= 59 - now.getMinutes();
var sec= 59 - now.getSeconds();
if(hour==0 && min==0 && sec==0) hour=24; //例外処理
document.getElementById('cd2').innerHTML= "今日の終わりまであと" + hour + "時間" + min + "分" + sec + "秒";
}
function doCountDown() {setInterval(function(){countDown()}, 500);}
</script>
</head>
<body>
<div id='cd1'></div>
<div id='cd2'></div>
</body>
</html>
No.4
- 回答日時:
>そのまま、コピペして使えるコードを貼ってください。
ここそういうサイトじゃないんで。
この回答への補足
こんなのになったのですが、僕のより良いコードないかって思って書きました。
ちょっと補足が変な感じになっちゃってすみませんw
<html>
<head>
<title>test</title>
<script type="text/javascript">
<!--
function doCountDown() {
setInterval('countDown()', 500);
}
function countDown() {
var now = new Date();
var tomorrow = new Date(now.getFullYear(), now.getMonth(), now.getDate() + 1);
var diff = Math.floor((tomorrow.getTime() - now.getTime()) / 1000) + 1;
var hour = Math.floor(diff / 3600);
diff %= 3600;
var min = Math.floor(diff / 60);
var sec = diff % 60;
document.getElementById('cd').innerHTML= "今日の終わりまであと" + hour + "時間" + min + "分" + sec + "秒";
}
//-->
</script>
</head>
<body onload="javacript:doCountDown();">
<div id='cd'></div>
</body>
</html>
No.3
- 回答日時:
参照なさったという、「教えて!goo」で回答していた者ですが、その中のNo4のものがご質問の様になっていると思いますが試してみましたか?
ただし、No3様がもっともな問題点を指摘なさってはいますが…
ローカルの時計に頼らず出来る限り正確にやりたい場合は、サーバの時計を利用するか、No3様がご紹介なさっている日本標準時のサービスなどを代わりに利用するのがよいかも。
この回答への補足
大学ではまだCとC#しかまだ学んでおらず、
「javascript」はチンプンカンプンです。
そのまま、コピペして使えるコードを貼ってください。
是非、よろしくお願いします。
No.2
- 回答日時:
setIntervalでの処理が妥当かと。
ただし、javascriptで得られる時刻はあくまでのクライアントマシンの
ローカルな時間でしかないので、ただしい時間(もしくはサーバーの時間で)
処理したいのであれば、ajaxなどで定期的にサーバーから時間をもってきて
同期処理をいれないと想定したものにはならないと思います。
この回答への補足
大学ではまだCとC#しかまだ学んでおらず、
「javascript」はチンプンカンプンです。
そのまま、コピペして使えるコードを貼ってください。
是非、よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
getElementsByNameで要素が取得...
-
キーを押している間の時間を計...
-
bodyタグのfocus
-
JavaScriptでiframeの内容を「...
-
htmlをjavascriptで読み込むには
-
SCRIPT5007: 未定義または NULL...
-
ジャバスプリクトの質問
-
字数計算ソフト
-
IE6でDOMを使用した内容が表示...
-
【js】onsubmit属性が変更できない
-
createElementによるタグ追加作成
-
XMLHTTPRequestでstatusが0に
-
金額の3桁区切り
-
Webサイトを表示時にタイトルの...
-
javascriptについて
-
Backbone.js イベントが効かない
-
日数カウントダウンをホームペ...
-
IEの拡大・縮小機能をWebページ...
-
Javascript でText file の書き...
-
<a href="#" …>の意味を教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SCRIPT5007: 未定義または NULL...
-
JavaScriptでiframeの内容を「...
-
getElementsByNameで要素が取得...
-
フォーカス移動抑止について
-
iframeの中から親ページをスム...
-
function の return 値を表示し...
-
キーを押している間の時間を計...
-
bodyタグのfocus
-
乱数を一定時間毎に表示させた...
-
自動ジャンプでフォームデータ...
-
javascriptでクリックしたリン...
-
XMLHTTPRequestでstatusが0に
-
JavaScript でキーを送る
-
リンク移動先のURLを取得
-
ページ全体を検索して特定文字...
-
htaでVBSのソースを書いたらエ...
-
フレームサイズの変更について
-
マウスオーバーで文字にアンダ...
-
「オブジェクトを指定してくだ...
-
html javascript 作った配列を...
おすすめ情報