柔軟に働き方を選ぶ時代に必要なこと >>

http://www.gifu-marathon.jp/
こちらのページに使われているカウントダウンを参考にしています。
このカウンターにミリ秒を追加したいのですが、どのように記述したらいいでしょうか。

<script type="text/javascript">
(function($){
$.fn.countdownSimple = function(options) {
var opts = $.extend({}, $.fn.countdownSimple.defaults, options);
return this.each(function() {
CountDown($(this), opts);
});
function CountDown ($obj, opts) {
var now, point, diff, dy, hr, minr, sr,
thisInterval = window.setInterval( function() {
now = new Date();
point = new Date( opts.until );
diff = Math.floor(
( point.getTime() - now.getTime() ) / 1000 );
dy = Math.floor( diff / 86400 );
hr = Math.floor( diff % 86400 / 3600 );
minr = (Math.floor( diff % 86400 / 60 ) % 60 );
sr = (Math.floor( diff % 86400 % 60 ) % 60 );
if(diff>0) {
$obj.html( "" + dy + ":"
+ "" + zerofill(hr) + ":"
+ "" + zerofill(minr) + ":"
+ "" + zerofill(sr) + "" );
} else {
$obj.html( opts.complete );
clearInterval(thisInterval);
}
}, 980);
};
function zerofill(str) {
var str = "00" + str;
return str.substr(str.length-2, 2);
};
};
$.fn.countdownSimple.defaults = {
until: "2011/12/31",
complete: "Time Over!"
};
})(jQuery);

$(document).ready( function() {
$('div#countdown').countdownSimple({
until: "2014/5/18 9:00:00",
complete: "岐阜清流ハーフマラソンスタート!!"
});
});

</script>

A 回答 (1件)

こんにちは。



PCの時間は、一応ミリ秒(1/1000秒)単位になっています。

ご提示のスクリプトでは
 >diff = Math.floor(
 >( point.getTime() - now.getTime() ) / 1000 );
としているところで、最初に 1/1000 にしているので、秒単位にしていることになります。

ここを1000で割らずに、ミリ秒単位のままにしておいて、そのかわり後の計算をこれに応じて修正し、1000以下の数値分をミリ秒として追加表示すればご質問のようなことが可能になります。


ただし、計算速度がそれほど速くはないと思いますので、計算のインターバルを1/1000秒にすることはナンセンスでしょう。
それなので、精度が表示に見合っているかといえば、それは期待できないことになりそうです。
(仮に表示できたとしても、人が1/1000秒を読みとれるとも思えませんが…) 
    • good
    • 0
この回答へのお礼

時間が迫ってる感を出したくて
ミリ秒を出そうとしていました。

ありがとうございます。うまく出来ました!

お礼日時:2014/05/15 20:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Q「ミリ秒」これの時間の単位が解りません。

スライドショー等のソフトによく使われている
「ミリ秒」これの時間の単位が解りません。
例えば3000ミリ秒、5000ミリ秒とは、
いったい何秒の事なんですか。
出来れば計算方法教えて頂けますか。

Aベストアンサー

3000ミリでしたら小数点を左に3つ動かすと、ミリが消えて「秒」になります。
マイクロは左に6つ、
ナノは左に9つ、
キロは右に3つ、
メガは右に6つ、
ギガは右に9つということになります。

Q文字列として"(ダブルコーテーション)を表示させる方法

こんにちは。文字列として、ダブルコーテーションを表示させるには、どうすればよいのか教えてください。m(__)m


例えば、
<font size="2">あいうえお</font>

というタグの「あいうえお」の部分が、セルA1にあった場合、

="<font size="2">"&A1&"</font>"という表示にしたいのです。

"2"のダブルコーテーションも文字列として表示させるには、どうすればよろしいのでしょうか。

教えてください。よろしくお願い致します。

Aベストアンサー

こんにちは~

表示形式は 「標準」 のままで、
ダブルコーテーションを、ダブルコーテーションで囲んでください。

""2""

="<font size=""2"">"&A1&"</font>"

としてみてください。

Q残り時間カウントダウン表示 『あと○時間△分□秒』

CGIゲーム内であるイベントが発生してから12時間後に新イベントが自動発生するスクリプトを作りたいのですが

ネット検索をしても残り日数表示しかなくてサンプルがないので創ってみたのですが

<body onLoad="count()" onUnload="clearTimeout()">

$ENV{'TZ'} = "JST-9";
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); <=現在の時間

$date="0,0,11,3,0,107,0,27,0 485,197,854,"; <=保存されたプレイベント発生時間
foreach($date){ ($sc,$mi,$ho,$md,$mo,$ye,$wd,$yd,$isd)=split(/,/); }

print <<"EOM";

<SCRIPT language="JavaScript">
<!--
cnt = $sc-$sec;
cnt1=$mi-$min;
if($ho>$hour){cnt2=$ho-$hour-12;}
else{cnt2=$ho-$hour+12;}
if(cnt2>12){cnt2=cnt2-12;}
if(cnt<0){cnt=cnt+59; cnt1=cnt1-1;}
if(cnt1<0){cnt1=cnt1+59; cnt2=cnt2-1;}
if(cnt2<0){cnt=0;cnt1=0;cnt2=0;}

function count(){
document.form.box.value = cnt2+"時間"+cnt1+"分"+cnt+"秒";
cnt--;
if(cnt<0){cnt=cnt+60; cnt1=cnt1-1;}
if(cnt1<0){cnt1=cnt1+60; cnt2=cnt2-1;}
if(cnt2<0){cnt=0;cnt1=0;cnt2=0;}

if(cnt2 >=0) {
if(cnt1 >=0) {
if(cnt >=0) {
setTimeout("count()",1000);
}}}
}
//-->
</SCRIPT>

<FORM name="form">
あと<INPUT type="text" name="box" size="17">です
</FORM>
EOM

とりあえず表示はできた(と思う)のですがもっと楽で確実な方法はありますでしょうか?(モジュールとかは使わずに)

または上記のスクリプトすぐに思いつかなかったのでtime()で計算してたのですが
『残り53495秒』(適当)のような表記方法しか分かりません
これを○時間△分□秒のように変換してカウントダウンできるでしょうか?

localtime()、time()どちらでもいいのでご意見お願いします

CGIゲーム内であるイベントが発生してから12時間後に新イベントが自動発生するスクリプトを作りたいのですが

ネット検索をしても残り日数表示しかなくてサンプルがないので創ってみたのですが

<body onLoad="count()" onUnload="clearTimeout()">

$ENV{'TZ'} = "JST-9";
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); <=現在の時間

$date="0,0,11,3,0,107,0,27,0 485,197,854,"; <=保存されたプレイベント発生時間
foreach($date){ ($sc,$mi,$ho,$md,$mo,$ye,$wd...続きを読む

Aベストアンサー

こんにちは。

さてご質問にあった
----------------
『残り53495秒』
----------------
ですが、もし残り時間を「秒」で求める方法がおわかりになるのであれば、これ自体を「時・分・秒」に直してしまって表示したほうがシンプルになるのではないかな?と思いました。

残り「時間」 = (残り秒数÷3600)の整数部分
残り「 分 」 = ((残り秒数-(残り「時間」× 3600))÷ 60))の整数部分
残り「 秒 」 = 残り秒数-(残り「時間」× 3600)-(残り「 分 」× 60)

で変換できることと思います。ご検討を。

Q何度もリピートする、カウントダウンJavaScript

http://www.cj-c.com/java_s/java15.htm
こんな感じのカウントダウンのスクリプトのアレンジで、何度も繰り返すものは作れないでしょうか?(秒以下の単位までのもので)

例えば、3日間のカウントダウンで、「あと2日23時間59分59秒59」からカウントダウンしていって、「あと0日00時間00分00秒01」になると、また「あと2日23時間59分59秒59」に戻り、延々と3日間のリピートが繰り返されるものです。

可能であれば、教えて頂きたいです。よろしくお願いします。

Aベストアンサー

<html>
<body>
<input type="text" id="a" size="40"><br>
<script>
setInterval("t()",10);// 1/100秒単位で呼び出し
function t(){
p=9*60*60*1000;//alert(new Date(0).getTime())はAM9:00からだったから
t0=24*60*60*1000;//1日の単位
t1=(new Date()).getTime()+p;//1970 AM0:00からの秒数
t2=INT(t1/t0);//1970年から何日目かを求める
t3=t2%3;//3日で割り余りの日(追加分)を求める
t4=(t2+t3)*t0;//今日から3日単位の余りの日数を加算し、予定日の秒数を計算
t5=t4-t1;//予定時間から現在の時間を引いて、あと何秒かを計算
ms=INT(t5%1000/10);
ss=INT(t5/1000)%60;
mi=INT(t5/60000)%60;
hh=INT(t5/3600000)%24;
dd=INT(t5/t0);
document.getElementById('a').value='あと '+((dd)?dd+'日と ':'')+num0(hh,2)+"時"+num0(mi,2)+"分"+ss+"."+num0(ms,2)+"秒";
t5-=10; if(t5<0) t5=t0*3;
}
function INT(n){ return Math.floor(n) }
function num0( num, p ){ var s = '00'+ num; return s.substr( s.length-p,p); }

</script>
</body>
</html>
時間があってながめてました。複数起動していると誤差が増大していきます。正確に時を刻めないようでした。なのですべての計算を関数の中に移しました。
時間の表示もちょっとだけ細工しました。

<html>
<body>
<input type="text" id="a" size="40"><br>
<script>
setInterval("t()",10);// 1/100秒単位で呼び出し
function t(){
p=9*60*60*1000;//alert(new Date(0).getTime())はAM9:00からだったから
t0=24*60*60*1000;//1日の単位
t1=(new Date()).getTime()+p;//1970 AM0:00からの秒数
t2=INT(t1/t0);//1970年から何日目かを求める
t3=t2%3;//3日で割り余りの日(追加分)を求める
t4=(t2+t3)*t0;//今日から3日単位の余りの日数を加算し、予定日の秒数を計算
t5=t4-t1;//予定時間から現在...続きを読む

Q外側のdivの高さを入れ子のdivの高さに自動的に合わせたい

外側のdivの高さを入れ子のdivの高さに自動的に合わせたい

添付画像のようなコンテンツを作成しています。
外側のdiv(contents_box)内にcontents_imgとcontents_textのdivを配置しています。
このcontents_imgとcontents_textの高さに合わせて外側のcontents_boxも自動的に変動させたいのですが、どのようにしたら良いのでしょう?
高さをautoですとただの棒のようになってしまい、ダメでした。
どうぞよろしくお願い致します。

xhtml

<div id="contents_box">
<div id="contents_img">ここに画像</div>
<div id="contents_text"> ここにテキスト</div>
</div>

css
#contents_box {
height: auto;
width: 805px;
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: #333;
}

#contents_img {
height: auto;
width: 300px;
margin-top: 10px;
margin-right: 10px;
margin-bottom: 10px;
margin-left: 0px;
float: left;
}

#contents_text {
height: auto;
width: 485px;
margin-top: 10px;
margin-right: 0px;
margin-bottom: 10px;
margin-left: 10px;
float: right;
text-align: justify;
}

外側のdivの高さを入れ子のdivの高さに自動的に合わせたい

添付画像のようなコンテンツを作成しています。
外側のdiv(contents_box)内にcontents_imgとcontents_textのdivを配置しています。
このcontents_imgとcontents_textの高さに合わせて外側のcontents_boxも自動的に変動させたいのですが、どのようにしたら良いのでしょう?
高さをautoですとただの棒のようになってしまい、ダメでした。
どうぞよろしくお願い致します。

xhtml

<div id="contents_box">
<div id="contents_img">ここに画像</div>
<div ...続きを読む

Aベストアンサー

クリアーしていないって事かな・・・ 色々方法はあるけど。
----------------

<div id="contents_box">
<div id="contents_img">ここに画像</div>
<div id="contents_text"> ここにテキスト</div>
<hr /> <!-- 追加 -->
</div>



#contents_box {
width: 805px;
}
#contents_box hr { clear: both;} /* 追加 */

#contents_img {
width: 300px;
margin: 10px 0;
float: left;
}

#contents_text {
width: 485px;
margin: 10px 0;
float: right;
text-align: justify;
}

Qidを使わずにonclickで自身の要素取得

javascriptで
<a href="XXX.XXX" title="ゴール" onclick="element()">test</a>
function() {
idを使わずにここにtitle属性のゴールを習得する方法を記述したいのですが、わかりません
よろしくお願いします
}

Aベストアンサー

こんにちは。


==== HTML
<a href="" title="ゴール" onclick="getTitle(this);return false;">test</a>
<a href="" title="スタート" onclick="getTitle(this);return false;">test2</a>


==== JavaScript
function getTitle ( obj ) {
var title = obj.getAttribute('title');
alert ( title );
}

こういうことでしょうか。
違っていたらすみません。

Q適切な抵抗(抵抗値)の選び方

電池と抵抗と豆電球を繋いで、簡単な実験をしようと思っています。
このとき、どのくらいの抵抗値の抵抗を選定するのが適切なのでしょうか?
抵抗の抵抗値を決めるにあたってのポイントを教えて下さい。

基本的なことですみませんが、よろしくお願いします。

Aベストアンサー

電気は、電源から負荷を通って電源へ戻ってきます。
つまり、負荷で全てを消費する回路が適正であり、
 電源電圧 = 負荷電圧
となります。
負荷電圧は定格電圧が適正である為、ここでは豆電球の定格電圧とします。

豆電球には、幾つか規格があるようですが、
 1.5V - 0.3A
 2.5V - 0.5A
 3.8V - 0.5A
が一般的のようです。
これは、定格電圧1.5V掛けた時に、定格電流0.3Aが流れるという意味です。
その為、1.5Vの豆電球であれば乾電池も1.5Vなので、全てを適正に消費されるため、抵抗は必要ありません。
それ以外について説明いたします。

まず重要なのは、豆電球の定格電圧です。
2.5V-0.5Aのものを使用したとすると、乾電池は2本で3Vが最低電圧になります。
ここから、
 3 - 2.5 = 0.5 (V)
の電圧の差があるので、これを追加抵抗で消費してあげる必要があります。
電流は、豆電球の定格電流が流れる事を前提にしてあるので、追加抵抗は、
 E = I ・ R
より、
 R = E / I
  = 0.5 / 0.5
  = 1 (Ω)
と成ります。

その他のものを使用したとき、乾電池を増やした時も、同様です。

電気は、電源から負荷を通って電源へ戻ってきます。
つまり、負荷で全てを消費する回路が適正であり、
 電源電圧 = 負荷電圧
となります。
負荷電圧は定格電圧が適正である為、ここでは豆電球の定格電圧とします。

豆電球には、幾つか規格があるようですが、
 1.5V - 0.3A
 2.5V - 0.5A
 3.8V - 0.5A
が一般的のようです。
これは、定格電圧1.5V掛けた時に、定格電流0.3Aが流れるという意味です。
その為、1.5Vの豆電球であれば乾電池も1.5Vなので、全てを適正に消費されるため、抵抗は必要あ...続きを読む

Q1秒は何ミリ秒とか、単位変換の問題が苦手です。

今ITパスポートなどの情報処理技術者試験などの勉強をしているのですが、
1秒は何ミリ秒とか、3,600,000ミリ秒は何時間とかの単位変換の問題が苦手です。

また、4,096バイトは何kバイトとかの単位変換の問題とかも苦手です。
どのようにしたら、早く正確に解くことできるようになるでしょうか?

答え間違っていたり、答えが正解してても時間がかかってしまったりします。

計算方法や早く正確に解く方法など、教えていただけないでしょうか?

よろしくお願いします。

Aベストアンサー

基本的には慣れの問題だと思いますが・・・。

あとは下記のことを覚えるぐらいでしょうか。

■ 一般的に使われる1000の倍数の単位を覚える
1K = 1000
1M = 1K × 1000
1G = 1M × 1000
1T = 1G × 1000
1m = 1 ÷ 1000
1μ = 1m ÷ 1000
1n = 1μ ÷ 1000
http://ja.wikipedia.org/wiki/SI%E6%8E%A5%E9%A0%AD%E8%BE%9E


■ 2は10乗すると約1000(1024 = 1K)になる


■ 2の10乗までの数は暗記する
 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024

 計算が楽になります。
 例えば、2の5乗だったら、「2,4,8,16,32」と(心の中で)数えながら、指を折っていけば32が求まります。片手の指を全部折って開けば1024になるはずですから、そうならなければどこかで間違えた事になります。


人気Q&Aランキング

おすすめ情報