倒计时

翻译 2006年06月08日 13:22:00
说明:使用方法:首先调用new cdtime("ID_of_DIV_container", "target_date")
  1. ID_of_DIV_container (string): 这是要显示内容的层的ID.
  2. target_date (string): 要到的时间日期格式,24小时制.

其它调用cdtime.displaycountdown("base_unit", formatfunction_reference)

  1. base_unit (string): 从顶到下的使用数目. 有效的参数是"days", "hours", "minutes", 或 "seconds." 如果你输入"hours",比如例子, 这个脚本将显示到指定的日期还剩多少 hours, minutes, 和 seconds .
  2. formatfunction_reference (string): 这是脚本中定义的函数名称.你可通过自定函数来设置显示的内容的样式和外观
以下代码加入<head>区域
<style style="text/css">
.lcdstyle{ /*Example CSS to create LCD countdown look*/
background-color:black;
color:yellow;
font: bold 18px MS Sans Serif;
padding: 3px;
}
.lcdstyle sup{ /*Example CSS to create LCD countdown look*/
font-size: 80%
}
</style>
<script type="text/javascript">
//more javascript from http://www.smallrain.net
function cdtime(container, targetdate){
if (!document.getElementById || !document.getElementById(container)) return
this.container=document.getElementById(container)
this.currentTime=new Date()
this.targetdate=new Date(targetdate)
this.timesup=false
this.updateTime()
}
cdtime.prototype.updateTime=function(){
var thisobj=this
this.currentTime.setSeconds(this.currentTime.getSeconds()+1)
setTimeout(function(){thisobj.updateTime()}, 1000) //update time every second
}
cdtime.prototype.displaycountdown=function(baseunit, functionref){
this.baseunit=baseunit
this.formatresults=functionref
this.showresults()
}
cdtime.prototype.showresults=function(){
var thisobj=this

var timediff=(this.targetdate-this.currentTime)/1000 //difference btw target date and current date, in seconds
if (timediff<0){ //if time is up
this.timesup=true
this.container.innerHTML=this.formatresults()
return
}
var oneMinute=60 //minute unit in seconds
var oneHour=60*60 //hour unit in seconds
var oneDay=60*60*24 //day unit in seconds
var dayfield=Math.floor(timediff/oneDay)
var hourfield=Math.floor((timediff-dayfield*oneDay)/oneHour)
var minutefield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour)/oneMinute)
var secondfield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour-minutefield*oneMinute))
if (this.baseunit=="hours"){ //if base unit is hours, set "hourfield" to be topmost level
hourfield=dayfield*24+hourfield
dayfield="n/a"
}
else if (this.baseunit=="minutes"){ //if base unit is minutes, set "minutefield" to be topmost level
minutefield=dayfield*24*60+hourfield*60+minutefield
dayfield=hourfield="n/a"
}
else if (this.baseunit=="seconds"){ //if base unit is seconds, set "secondfield" to be topmost level
var secondfield=timediff
dayfield=hourfield=minutefield="n/a"
}
this.container.innerHTML=this.formatresults(dayfield, hourfield, minutefield, secondfield)
setTimeout(function(){thisobj.showresults()}, 1000) //update results every second
}
/////CUSTOM FORMAT OUTPUT FUNCTIONS BELOW//////////////////////////////
//Create your own custom format function to pass into cdtime.displaycountdown()
//Use arguments[0] to access "Days" left
//Use arguments[1] to access "Hours" left
//Use arguments[2] to access "Minutes" left
//Use arguments[3] to access "Seconds" left
//The values of these arguments may change depending on the "baseunit" parameter of cdtime.displaycountdown()
//For example, if "baseunit" is set to "hours", arguments[0] becomes meaningless and contains "n/a"
//For example, if "baseunit" is set to "minutes", arguments[0] and arguments[1] become meaningless etc

function formatresults(){
if (this.timesup==false){//if target date/time not yet met
var displaystring=" 离2008年8月8日20:00:00北京奥运会还有:"+arguments[0]+" 天 "+arguments[1]+" 时 "+arguments[2]+" 分 "+arguments[3]+" 秒"
}
else{ //else if target date/time met
var displaystring="Future date is here!"
}
return displaystring
}
function formatresults2(){
if (this.timesup==false){ //if target date/time not yet met
var displaystring="离圣诞节还有:<span class='lcdstyle'>"+arguments[0]+" <sup>天</sup> "+arguments[1]+" <sup>时</sup> "+arguments[2]+" <sup>分</sup> "+arguments[3]+" <sup>秒</sup></span> "
}
else{ //else if target date/time met
var displaystring="" //Don't display any text
alert("Christmas is here!") //Instead, perform a custom alert
}
return displaystring
}
</script>
以下代码加入<body>区域
<div id="countdowncontainer"></div>
<br />
<div id="countdowncontainer2"></div>
<script type="text/javascript">
var futuredate=new cdtime("countdowncontainer", "August 8, 2008 20:00:00")
futuredate.displaycountdown("days", formatresults)
var currentyear=new Date().getFullYear()
//dynamically get this Christmas' year value. If Christmas already passed, then year=current year+1
var thischristmasyear=(new Date().getMonth()>=11 && new Date().getDate()>25)? currentyear+1 : currentyear
var christmas=new cdtime("countdowncontainer2", "December 25, "+thischristmasyear+" 0:0:00")
christmas.displaycountdown("days", formatresults2)
</script>

iOS中 简单易懂的秒杀倒计时/倒计时

iOS中 简单易懂的秒杀倒计时/倒计时 商城类APP常用的秒杀倒计时 /iOS倒计时...
  • qq_31810357
  • qq_31810357
  • 2016年02月19日 20:57
  • 10348

简单记录,倒计时的AlertDialog

一个简单的显示倒计时的alertdialog。 dialog显示及开始倒计时,倒计时结束则让alertdialog消失,或者是alertdialog消失取消计时。 不依赖activity显...
  • maclay
  • maclay
  • 2013年06月03日 11:19
  • 1522

iOS开发-三种倒计时的写法

1.通过NSThread的performSelectorInBackground; 2.通过定时器,属于比较简单的写法; 3.通过GCD中的dispatch_source;先说第一种:#impor...
  • CodingFire
  • CodingFire
  • 2016年08月26日 16:40
  • 10821

CSS3圆环倒计时效果

CSS3圆环倒计时效果 .pie { width:200px; height:200px; background-color:blue; border-radius:100px; ...
  • u014687259
  • u014687259
  • 2014年06月11日 17:02
  • 771

Andorid 实现抢购倒计时能(天时分秒)

今天项目用到了抢购时倒计时的功能 ,今天找了好多哥们,也百度了好多,但是没有自己喜欢并且能消化的。好不容易找到了一个能容易看懂的,然而又不符合我想要的需求,所以自己搞一下。不知道是否简单,但是最起码是...
  • Tab_Esc
  • Tab_Esc
  • 2016年01月13日 23:54
  • 2418

android 自定义倒计时控件(圆形倒计时显示)

先上效果图 - 倒计时结束代码块attr.xml 控件需要用到的属性: ...
  • jpxzqs
  • jpxzqs
  • 2016年09月05日 14:08
  • 1315

时分秒倒计时的js实现

时分秒倒计时的js实现,如图: 闲话少说,直接上代码。 html代码: 剩余天数: 0天 0时 0分 0秒 js代码: timer('timer');//调用方法 //时分...
  • xw505501936
  • xw505501936
  • 2016年06月01日 11:51
  • 4381

基于51单片机的99-00倒计时秒表

;有位网友写了一个倒计时秒表的程序,程序中的变量,采用了逐次加一的方法。;变量加一,怎么能够倒计时呢?;原来,程序中段码的排列次序,反过来了。;于是:;当变量是0的时候,查找出来9的段码,送去显示;;...
  • baidu_33836580
  • baidu_33836580
  • 2016年01月25日 11:49
  • 1726

Android 倒计时(时分秒)

1、效果图 2、源码: package com.android.hotelcontrol.callService; import android.content.Context; i...
  • renjianhhong
  • renjianhhong
  • 2015年12月12日 18:00
  • 1124

60秒倒计时登录验证按钮计时器Timer Task

在开发中我们有时会有这样的需求,即在固定的每隔一段时间执行某一个任务。比如UI上的控件需要随着时间改变,我们可以使用Java为我们提供的计时器的工具类,即Timer和TimerTask。? Tim...
  • Dorsey_c
  • Dorsey_c
  • 2016年05月14日 12:05
  • 1679
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:倒计时
举报原因:
原因补充:

(最多只允许输入30个字)