我想做一個倒計時並將其放入我的網站。我做了一個倒計時,但是我有一個問題,當我啓動它,秒數凍結它們不運行了...
這裏是我做過什麼:如何設置倒計時並在HTML/JavaScript中循環秒數
<span id="dhour"></span> h <span id="dmin"></span> min <span id="dsec"></span> sec
<div id="count2"></div>
<div class="numbers" id="dday" hidden="true"></div>
<script>
var montharray = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
var year;
var month;
var day;
var hour = 19;
var minute = 10;
var tz = 0;
var ladate;
var today;
function myCallback(json) {
ladate = new Date(json.dateString);
year = ladate.getFullYear();
month = ladate.getMonth() + 1;
day = ladate.getDate();
countdown(year, month, day, hour, minute);
}
function countdown(yr, m, d, hr, min) {
theyear = yr;
themonth = m;
theday = d;
thehour = hr;
theminute = min;
today = ladate;
var todayy = today.getYear();
if (todayy < 1000) {
todayy += 1900;
}
var todaym = today.getMonth();
var todayd = today.getDate();
var todayh = today.getHours();
var todaymin = today.getMinutes();
var todaysec = today.getSeconds();
var todaystring1 = montharray[todaym] + " " + todayd + ", " + todayy + " " + todayh + ":" + todaymin + ":" + todaysec;
var todaystring = Date.parse(todaystring1) + (tz * 1000 * 60 * 60);
var futurestring1 = (montharray[m - 1] + " " + d + ", " + yr + " " + hr + ":" + min);
var futurestring = Date.parse(futurestring1) - (today.getTimezoneOffset() * (1000 * 60));
var dd = futurestring - todaystring;
var dday = Math.floor(dd/(60 * 60 * 1000 * 24) * 1);
var dhour = Math.floor((dd % (60 * 60 * 1000 * 24))/(60 * 60 * 1000) * 1);
var dmin = Math.floor(((dd % (60 * 60 * 1000 * 24)) % (60 * 60 * 1000))/(60 * 1000) * 1);
var dsec = Math.floor((((dd % (60 * 60 * 1000 * 24)) % (60 * 60 * 1000)) % (60 * 1000))/1000 * 1);
if (dday <= 0 && dhour <= 0 && dmin <= 0 && dsec <= 0) {
document.getElementById('count2').style.display = "inline";
document.getElementById('after').style.display = "none";
document.getElementById('dday').style.display = "none";
document.getElementById('dhour').style.display = "none";
document.getElementById('dmin').style.display = "none";
document.getElementById('dsec').style.display = "none";
document.getElementById('days').style.display = "none";
document.getElementById('hours').style.display = "none";
document.getElementById('minutes').style.display = "none";
document.getElementById('seconds').style.display = "none";
return;
} else {
document.getElementById('count2').style.display = "none";
document.getElementById('dday').innerHTML = dday;
document.getElementById('dhour').innerHTML = dhour;
document.getElementById('dmin').innerHTML = dmin;
document.getElementById('dsec').innerHTML = dsec;
setTimeout("countdown(theyear,themonth,theday,thehour,theminute)", 1000);
}
}
</script>
<script type="text/javascript" src="http://www.timeapi.org/utc/now.json?callback=myCallback"></script>
謝謝。
希望解決這個問題。
你在哪裏調用該函數? –
如上所述,您不會在顯示的代碼中的任何位置調用該函數。還要注意,你已經把這個問題標記爲'jquery'和'php',而這兩個都沒有使用,甚至在你的問題中提及。這可能導致人們(如)點擊你的問題,而他們可能沒有太多的知識。 – Loek
在JavaScript – Sheva07