回答受付中の質問
いろいろなサイトを見回りながら「指定日までの残り日数と時間を表示する」のをjavascriptで動かしたいのですがリアルタイムに秒が進んでくれません。知識のある方はどうか間違えてる点のご教授お願いします。
<html>
<head>
<title>指定日までの残り日数と時間を表示する</title>
</head>
<body>
<script language="JavaScript"><!--
function xDay(y,m,d,hh,mm,ss){
today = new Date();
xday = new Date(y,m-1,d,hh,mm,ss);
dayMS = (24*60*60*1000,60*60*1000);
days = Math.floor((xday.getTime()-today.getTime())/(24*60*60*1000));
hours = Math.floor(((xday.getTime()-today.getTime())%(24*60*60*1000))/(60*60*1000));
minutes = Math.floor((((xday.getTime()-today.getTime())%(24*60*60*1000))/(60*1000))%60);
seconds = Math.floor((((xday.getTime()-today.getTime())%(24*60*60*1000))/1000)%60%60);
myDisp="";
if (days != 0)myDisp+=days+"日と ";
if (hours != 0)myDisp+=hours+"時間 ";
if (minutes != 0)myDisp+=minutes+"分 ";
myDisp+=seconds+"秒";
document.myForm.myFormDate.value = myDisp;
setTimeout("xday()",1000);
}
// --></script>
<form name="myForm">
<input type="text" size="35" name="myFormDate">
<script language="JavaScript"><!--
xday();
// --></script>
</form>
<script language="JavaScript"><!--
xDay(2008,9,13,15,00,00);
// --></script>
</body>
</html>
投稿日時 - 2008-09-08 10:28:51
2人が「このQ&Aが役に立った」と投票しています
回答(3件中 1~3件目)
<html>
<head>
<title>指定日までの残り日数と時間を表示する</title>
</head>
<body>
<script language="JavaScript">
var dy = new Date(2008,9-1,9,13,00,00);
window.onload = init;
function init(){
xDay();
setInterval(xDay,1000);
}
function xDay(){
s=(dy.getTime()-(new Date()).getTime())/1000;
days = s/86400|0;
hours = s%86400/3600|0;
minutes=s%3600/60|0;
seconds=s%60|0;
document.getElementById('m').value = (days?days+'日と ':'')+(hours?hours+'時間 ':'')+(minutes?minutes+'分 ':'')+seconds+'秒';
}
</script>
<form name="myForm">
<input type="text" size="35" name="m">
</form>
</body>
</html>
投稿日時 - 2008-09-08 11:38:59
<html>
<head>
<title>指定日までの残り日数と時間を表示する</title>
</head>
<body>
<script language="JavaScript"><!--
function xDay(y,m,d,hh,mm,ss){
today = new Date();
xday = new Date(y,m-1,d,hh,mm,ss);
dayMS = (24*60*60*1000,60*60*1000);
days = Math.floor((xday.getTime()-today.getTime())/(24*60*60*1000));
hours = Math.floor(((xday.getTime()-today.getTime())%(24*60*60*1000))/(60*60*1000));
minutes = Math.floor((((xday.getTime()-today.getTime())%(24*60*60*1000))/(60*1000))%60);
seconds = Math.floor((((xday.getTime()-today.getTime())%(24*60*60*1000))/1000)%60%60);
myDisp="";
if (days != 0)myDisp+=days+"日と ";
if (hours != 0)myDisp+=hours+"時間 ";
if (minutes != 0)myDisp+=minutes+"分 ";
myDisp+=seconds+"秒";
document.myForm.myFormDate.value = myDisp;
setTimeout("xDay(2008,9,13,15,00,00)",1000);
}
// --></script>
<form name="myForm">
<input type="text" size="35" name="myFormDate">
<script language="JavaScript"><!--
xDay(2008,9,13,15,00,00);
// --></script>
</form>
</body>
</html>
投稿日時 - 2008-09-08 11:37:32