카운트다운 - 스크립트
<head>
<script>
var futureyear=2009
var futuremonth=1
var futureday=27
var displaytype="showall"
var digitordate="isdate"
var aftercountdown="stopit"
var digitfrom=100
var digitto=0
var speed=1
var countdownid=new Array()
var futuredate
var nowdate
var resulthoursraw
var resulthours
var resultminutesraw
var resultminutes
var resultsecondsraw
var resultseconds
var p_seconds
var p_minutes
var p_hours
var p_days
var resultsecondsonly
var resultminutesonly
var resulthoursonly
var content
var i_countdown=-1
var countdownid
var step=1
speed*=1000
if (digitfrom>digitto) {step=-1}
if (digitfrom<digitto) {step=1}
var browserinfos=navigator.userAgent
var ns4=document.layers
var ie4=!document.getElementById&&document.all&&!browserinfos.match(/Opera/)
var ie5=document.getElementById&&document.all&&!browserinfos.match(/Opera/)
var ns6=document.getElementById&&!document.all&&!browserinfos.match(/Opera/)
var opera=browserinfos.match(/Opera/)
function setfuturedate() {
futuredate=new Date(futureyear,futuremonth,futureday,0,0,0)
if (digitordate=="isdigit") {content=digitfrom-step }
docountdown()
}
function docountdown() {
if (digitordate=="isdate") {
calculateresults()
formatresults()
displayresults()
setTimeout("docountdown()",speed)
}
else if (digitordate=="isdigit") {
content+=step
displayresults()
if (content==digitto) {
setTimeout("happensafter()",speed)
}
else {
setTimeout("docountdown()",speed)
}
}
}
function firstcountdown() {
if (digitordate=="isdate") {
futuredate=new Date(futureyear,futuremonth,futureday,0,0,0)
calculateresults()
formatresults()
}
else if (digitordate=="isdigit") {
content=digitfrom
}
}
function calculateresults() {
nowdate=new Date()
resultdaysraw=(Date.parse(futuredate)-Date.parse(nowdate))/1000/60/60/24
if (displaytype!="showall") {
resultsecondsonly=Math.floor((Date.parse(futuredate)-Date.parse(nowdate))/1000)
resultminutesonly=Math.floor((Date.parse(futuredate)-Date.parse(nowdate))/1000/60)
resulthoursonly=Math.floor((Date.parse(futuredate)-Date.parse(nowdate))/1000/60/60)
}
else {
resultdays=Math.floor((Date.parse(futuredate)-Date.parse(nowdate))/1000/60/60/24)
resulthoursraw=(resultdaysraw-resultdays)*24
resulthours=Math.floor((resultdaysraw-resultdays)*24)
resultminutesraw=(resulthoursraw-resulthours)*60
resultminutes=Math.floor((resulthoursraw-resulthours)*60)
resultsecondsraw=(resultminutesraw-resultminutes)*60
resultseconds=Math.floor((resultminutesraw-resultminutes)*60)
}
}
function formatresults() {
if (displaytype=="showall") {
if (resultdays>1) {p_days="일"}
else {p_days="일"}
if (resultminutes<10) {resultminutes="0"+resultminutes}
if (resultseconds<10) {resultseconds="0"+resultseconds}
content=resultdays+" "+p_days+" "+resulthours+"시 "+resultminutes+"분 "+resultseconds +"초"
}
else if (displaytype=="showdays") {
if (resultdays>1) {p_days="days"}
else {p_days="day"}
content=resultdays+" "+p_days
}
else if (displaytype=="showhours") {
content=resulthoursonly+" hrs"
}
else if (displaytype=="showminutes") {
content=resultminutesonly+" min"
}
else if (displaytype=="showseconds") {
content=resultsecondsonly+" sec"
}
}
function happensafter() {
if (aftercountdown=="repeatit") {
if (digitordate=="isdigit") {content=digitfrom-step}
docountdown()
}
if (aftercountdown!="stopit" && aftercountdown!="repeatit") {
document.location.href=aftercountdown
}
}
function displayresults() {
if (ie4) {
for (i=0;i<=countdownid.length-1;i++) {
var thisclock=eval(countdownid[i])
thisclock.innerHTML=content
}
}
else {
for (i=0;i<=countdownid.length-1;i++) {
document.getElementById(countdownid[i]).innerHTML=content
}
}
}
function setcountdown() {
if (ns4 || ie4 || ie5 || ns6 || opera) {
firstcountdown()
i_countdown++
countdownid[i_countdown]="countdown"+i_countdown
document.write("<span id='"+countdownid[i_countdown]+"' style='position:relative'>"+content+"</span>")
}
}
if (ie4 || ie5 || ns6 || opera) {
onload=setfuturedate
}
</script>
</head>
<body>
<script>setcountdown()</script>
남았습니다.
</body>
<!--
**주의 : 맨위 스크립트시작부분
var futureyear=2005
var futuremonth=11
var futureday=31
은 D데이 날짜를 지정하는 부분인데.. var futuremonth=11에서 11은 12월을 나타냅니다
즉, 0 ~ 11까지를 월단위로 작용해야합니다. (0은 1월)
-->