它可以在JavaScript中完成,无需插件。
您需要获取当前的日期时间,直到分母小于显示的分母。用你的例子,这意味着你需要把所有东西都缩小到毫秒。
var currentTime = new Date(n.getFullYear(), n.getMonth(), n.getDate(), n.getHours(), n.getMinutes(), n.getSeconds(), n.getMilliseconds());
然后,您会发现现在和所需时间之间的差异。这是以毫秒为单位给你的。
var diff = endtime - currentTime;
因为这是以毫秒为单位返回你需要将它们转换成秒,分钟,小时,天等..这意味着建立多毫秒如何在每个分母。然后你可以使用mod和divide来返回每个单位所需的数字。见下文。
var miliseconds = 1;
var seconds = miliseconds * 1000;
var minutes = seconds * 60;
var hours = minutes * 60;
var days = hours * 24;
var years = days * 365;
//Getting the date time in terms of units
//Floored so that they go together (to get just year/days/hours etc.. by themselves you need to use Math.round(diff/desired unit);
var numYears = Math.floor(diff/years);
var numDays = Math.floor((diff % years)/days);
var numHours = Math.floor((diff % days)/hours);
var numMinutes = Math.floor((diff % hours)/minutes);
var numSeconds = Math.round((diff % minutes)/seconds);
一旦你想要显示的分母,你可以通过不同的方法返回到html页面。例如:
document.getElementById("tyears").innerHTML = numYears;
总结你的方法。但是,为了使它在设定的时间间隔内运行(这就是为什么在JavaScript函数中更新HTML显示的原因),您需要调用以下函数,给出您的函数名称并以毫秒为单位提供您的间隔。
//Call the count down timer function every second (measured in miliseconds)
setInterval(countDown(endtime), 1000);
那么,有很多小问题。你有哪些问题? – Quentin 2010-02-08 13:22:15