javascript / jquery时间倒计时

我想使用纯Javascript或者从jquery中获益来计算一个函数来计算结束时间,例如:

//consumes a javascript date object function countDown(endtimme){ ... } 

它应该以html显示如

 

Time remaining

:

hours left: ..remaining day will be here##

minutes left: ##remaining day will be here##

seconds left: ##remaining day will be here##

事实上,如果它能够每秒刷新一次,那就更好了。

我对javascript非常天真并且对如何处理感到困惑,任何帮助都会很感激。

你可以使用jQuery Countdown

看看这个: http : //keith-wood.name/countdown.html

它可以在没有插件的情况下在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);