日期:2014-05-16  浏览次数:20446 次

请帮忙设计一个倒计时函数,谢谢
要求如下:
1、可以设定开始倒计时的时间和结束倒计时的时间。如每天早上9点开始,每天下午5点结束;
2、每5分钟为一个单位。前40分30秒每秒倒计时显示,最后30秒停止倒计时显示,30秒结束之后开始下一个5分钟单位的倒计时。

要注意四个问题:
1、如果刷新网页的时候不在允许的时间内,则不执行;
2、如果刷新的时间正好在5分钟的最后30秒内,也就是停止显示的那段时间,要注意保持不显示的状态;
3、如果当前时间是9点3分25秒,那么倒计时的开始时间应该就是1分05秒(需要扣除那最后的30秒后显示,也就是说每次5分钟单位的倒计时,开始的时间都是4分30秒,最后的30秒不显示的。);
4、每次倒计时的开始是根据当时刷新网页时,所获得的服务器时间为准的。按照5分钟一个单位去判断当前的系统时间是几分几秒,然后得到还需要倒计时的时间,去掉最后的30秒,显示倒计时时间。

假设允许倒计时的时间是9点到17点(24小时方式处理)
假设当前时间是:9点13分25秒,那么当前的系统时间是:3分25秒,倒计时时间是1分35秒,倒计时显示时间是1分05秒,然后转入最后30秒的停止显示时间

假设当前时间9点19分45秒,那么当前的系统时间是:4分45秒,倒计时时间是15秒,倒计时显示时间不显示。直接转入15秒的停止显示时间

请JS高手帮忙设计一下,谢谢。高分酬谢(另开一贴送分)。


------解决方案--------------------
说一下想法阿,最好使用ajax来做,赫赫,禁止客户端刷新比较麻烦,还有就是如果只利用客户端的clock问题也不少,比如说客户突然把时间给调整了等等。

1。页面打开,定时器打开,setinterval或者settimeout指定时间
2。在该时间段内通过ajax请求数据
3。通过返回的数据判断一下,就OK了。 (也不怕刷新页面等等,赫赫)

------解决方案--------------------
你去下载一个webtimer控件吧!
网上好像有这个东西,上次一个哥们给我发过一个,但是我没有用过。

------解决方案--------------------
也不算难,只是有些麻烦
问几个问题:
倒计时开始和结束时间怎么样设置,留为参数应该可以吧?!
开始和结束时间的差如果不是五分钟的倍数怎么处理?比如: 9:00 - 9:12
服务器时间作为数据返回到客户端是有延迟的,如何处理?