アプリ版:「スタンプのみでお礼する」機能のリリースについて

下記のようなjavascript でカウントダウンをしています。
ですが、指定日を過ぎると、00 表示になってしまいます。
これを指定日の指定時間を過ぎたら、-- という表示に変更し、
また、bodyないのタグにidを使って「指定日を過ぎました。」という
表示を出したいのですが、ご教授ねがいます。

<script language="javascript">
<!--
function countdown(year, month, day, hour, minute)
{
Today = new Date();
Todays_Year = Today.getFullYear() - 2000;
Todays_Month = Today.getMonth() + 1;
Todays_Day = Today.getDate();
Todays_Hour = Today.getHours();

Todays_Date = (new Date(Todays_Year, Todays_Month, Todays_Day, Todays_Hour, Today.getMinutes(), Today.getSeconds())).getTime();
Target_Date = (new Date(year, month, day, hour, minute, 00)).getTime();

Time_Left = Math.round((Target_Date - Todays_Date) / 1000);

if(Time_Left < 0)
Time_Left = 0;

days = Math.floor(Time_Left / (60 * 60 * 24));
Time_Left %= (60 * 60 * 24);
hours = Math.floor(Time_Left / (60 * 60));
Time_Left %= (60 * 60);
minutes = Math.floor(Time_Left / 60);
Time_Left %= 60;
seconds = Time_Left;

cDay = document.getElementById("counter_day");
cHour = document.getElementById("counter_hour");
cMin = document.getElementById("counter_min");
cSec = document.getElementById("counter_sec");

cDay.innerHTML = GetFormated(days);
cHour.innerHTML = GetFormated(hours);
cMin.innerHTML = GetFormated(minutes);
cSec.innerHTML = GetFormated(seconds);

//Recursive call, keeps the clock ticking.
setTimeout('countdown(' + year + ',' + month + ',' + day + ',' + hour + ',' + minute + ');', 1000);
}

function GetFormated(i)
{
if(i<10) { return "0"+i; }
return i;
}
//-->
</script>
</head>

<body>
<span id="counter_day"></span>
<span id="counter_hour"></span>
<span id="counter_min"></span>
<span id="counter_sec"></span>


<script language="JavaScript">
<!--
countdown('07,11,05,21,00');
//-->

A 回答 (1件)

if(Time_Left < 0)で超過を判断しているようなので、以下のように


してみてはいかがでしょうか?

if(Time_Left < 0){
cDay.innerHTML = "--";
cHour.innerHTML = "--";
cMin.innerHTML = "--";
cSec.innerHTML = "--";
document.getElementById("hoge").innerHTML = "指定日を過ぎました。";
exit();
}
    • good
    • 0

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