flash 倒计时 源码

如题所述

第1个回答  2011-01-10
共3个动态文本
动态文本名:today_text和hi
动态文本变量名:jieguo

var newYear = "2037";
var newMonth = "1";
var newDate = "1";
var newHours = "0";
var newMinutes = "0";
var newSeconds = "0";
hi.text = "距离:"+newYear+"-"+newMonth+"-"+newDate+" "+newHours+"-"+newMinutes+"-"+newSeconds;
if (int(newYear)>2037 || int(newYear)<1902) {
hi.text = "计算时间只限制在 1902年~2037年";
}
///////////////////////////////////////////////////////
function timeToCom(y, m, d, h, mm, s) {
nowDate.setFullYear(y, m, d);
nowDate.setHours(h);
nowDate.setMinutes(mm);
nowDate.setSeconds(s);
now_com = int(nowDate.getTime()/1000);
olympic_com = int(olympicDate.getTime()/1000)-now_com;
countTime();
olyTime = setInterval(countTime, 1000);
today_text.text = "今天是"+nowDate.getFullYear()+"年"+(nowDate.getMonth()+1)+"月"+nowDate.getDate()+"日"+" "+getWeek(nowDate.getDay());
}
function countTime() {
olympic_com--;
olympic_days = int(olympic_com/86400);
olympic_hours = int((olympic_com-olympic_days*3600*24)/3600);
olympic_minutes = int((olympic_com-olympic_days*3600*24-olympic_hours*3600)/60);
olympic_secondes = int(olympic_com-olympic_days*3600*24-olympic_hours*3600-olympic_minutes*60);
if (olympic_days<0) {
jieguo = olympic_days+" 天 "+(olympic_hours>-10 ? ("-0"+(-olympic_hours)) : olympic_hours)+" 时 "+(olympic_minutes>-10 ? ("-0"+(-olympic_minutes)) : olympic_minutes)+" 分 "+(olympic_secondes>-10 ? ("-0"+(-olympic_secondes)) : olympic_secondes)+" 秒";
if (int(newYear)>nowDate.getFullYear()) {
hi.text = "计算时间只限制在 1902年~2037年";
}
} else {
jieguo = olympic_days+" 天 "+(olympic_hours<10 ? ("0"+olympic_hours) : olympic_hours)+" 时 "+(olympic_minutes<10 ? ("0"+olympic_minutes) : olympic_minutes)+" 分 "+(olympic_secondes<10 ? ("0"+olympic_secondes) : olympic_secondes)+" 秒";
if (int(newYear)<nowDate.getFullYear()) {
hi.text = "计算时间只限制在 1902年~2037年";
}
}
}
function getWeek(id) {
switch (id) {
case 1 :
return ("星期一");
break;
case 2 :
return ("星期二");
break;
case 3 :
return ("星期三");
break;
case 4 :
return ("星期四");
break;
case 5 :
return ("星期五");
break;
case 6 :
return ("星期六");
break;
case 0 :
return ("星期日");
break;
default :
break;
}
}
var nowDate = new Date();
var y = nowDate.getFullYear();
var m = nowDate.getMonth()+1;
var d = nowDate.getDate();
var h = nowDate.getHours();
var mm = nowDate.getMinutes();
var s = nowDate.getSeconds();
var timeStr = y+"-"+m+"-"+d+"-"+h+"-"+mm+"-"+s;
var nowDate = new Date();
var olympicDate = new Date();
this.onEnterFrame = function() {
if (timeStr != undefined) {
var _l2 = timeStr;
var _l4 = int(_l2.split("-")[0]);
var _l3 = int(_l2.split("-")[1])-1;
var _l5 = int(_l2.split("-")[2]);
var _l7 = int(_l2.split("-")[3]);
var _l8 = int(_l2.split("-")[4]);
var _l6 = int(_l2.split("-")[5]);
delete this["onEnterFrame"];
//距离时间点
olympicDate.setFullYear(int(newYear), int(newMonth)-1, int(newDate));
olympicDate.setHours(int(newHours));
olympicDate.setMinutes(int(newMinutes));
olympicDate.setSeconds(int(newSeconds));
timeToCom(_l4, _l3, _l5, _l7, _l8, _l6);
}
// end if
};
第2个回答  2011-01-10
我找了个资源简单改动一下:60秒倒计时,可选:最后10(9--0)秒带声音(你需要在flash同文件夹下放一个1.mp3声音文件);
该flash1桢2个图层
图层1放脚本如下:
txt = 59;
var song0 = new Sound();
datas = new Date();
time = int(datas.getSeconds());
function djs() {
_root.onEnterFrame = function() {
datas = new Date();
newtime = int(datas.getSeconds());
if (newtime != time) {
txt--;
// if (txt<10&&txt>=0) {
// song0.loadSound("1.mp3", true);
// txt2 = Math.floor(song0.duration/1000)+"sec";
// }
if (txt<0) {
txt = 59;
}
time = newtime;
}
};
}
图层2放一个动态文本,文本框50X50大小即可,变量名txt;
再放一个开始按钮,按钮下放脚本如下:
on(press){
djs()
}

就这些,你试试吧!
脚本中用//注释掉的4行,就是最后10秒带声音的选项,放开注释既可用本回答被网友采纳
相似回答