咨询一个关于秒杀程序的JS代码,时间到显示按钮,时间过隐藏!

opopop1 2011-04-27 03:19:43
JS代码是网上下载的倒计时JS 我修改了一下代码如下:

rollkill.js

//startclock();
var timerID = null;
var timerRunning = false;
document.getElementById("btkillst").visble = false;
function showtime(nowtime) {
Today = new Date();
var killtime = new Date(nowtime.replace(/-/g,"/"));
if (Today > killtime){
document.all.calendarClock1.innerHTML = "本场秒杀活动已结束!";
}
else{
var NowHour = Today.getHours();
var NowMinute = Today.getMinutes();
var NowMonth = Today.getMonth();
var NowDate = Today.getDate();
var NowYear = Today.getYear();
var NowSecond = Today.getSeconds();
var NowMin = Today.getMilliseconds();
//获得传入时间
var yy = killtime.getYear();
var mm = killtime.getMonth();
var day = killtime.getDate();
var hh = killtime.getHours();
var ms = killtime.getMinutes();
var ss = killtime.getTime() % 60000;
ss = (ss - (ss % 1000)) / 1000;
var mins = killtime.getMilliseconds();
Hourleft = hh - NowHour;
Minuteleft = ms - NowMinute;
Secondleft = ss - NowSecond;
Minsecleft = mins - NowMin;
Yearleft = yy - NowYear ;
Monthleft = mm - NowMonth;
Dateleft = day - NowDate ;
//if (Minsecleft<0)
//{
// Minsecleft = 1000+Minsecleft;
// Secondleft = Secondleft-1;
//}
if (Secondleft<0)
{
Secondleft=60+Secondleft;
Minuteleft=Minuteleft-1;
}
if (Minuteleft<0)
{
Minuteleft=60+Minuteleft;
Hourleft=Hourleft-1;
}
if (Hourleft<0)
{
Hourleft=24+Hourleft;
Dateleft=Dateleft-1;
}
if (Dateleft<0)
{
Dateleft=31+Dateleft;
Monthleft=Monthleft-1;
}
if (Monthleft<0)
{
Monthleft=12+Monthleft;
Yearleft=Yearleft-1;
}
Temp=Yearleft+'年, '+Monthleft+'月, '+Dateleft+'天, '+Hourleft+'小时, '+Minuteleft+'分, '+Secondleft+'秒';

if(Today = killtime){
document.getElementById("btkillst").disabled = true;
}

document.all.calendarClock1.innerHTML =Temp;
timerID = setTimeout('showtime("'+nowtime+'")',1000);
timerRunning = true;
}

}

var timerID = null;
var timerRunning = false;


function stopclock () {
if(timerRunning)
//clearTimeout(timerID);
timerRunning = false;
}

function startclock (kill_time) {
stopclock();
showtime(kill_time);
}
// -->

页面文件如下:

<script type="text/javascript" src="rollkill.js"></script>
<form id="form1" name="form1" method="post" action="">
<input name="btkillst" id="btkillst" type="submit" value="秒 杀" />
</form>
<script language="javascript">startclock("传入的秒杀时间");</script>

我现在可以实现倒计时了.可是为什么时间到了不显示出按钮呢!!!

希望各位帮帮忙!!!!

万分感谢!!!
...全文
442 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
opopop1 2011-05-04
  • 打赏
  • 举报
回复
时间到之前是另一个灰色的按钮图片,时间到了后才是一个可点的图片按扭,提交后就又显示不能点击了!!
灬海上孤帆灬 2011-05-03
  • 打赏
  • 举报
回复
没明白你什么意思~那个按钮要显示出来多长时间?时间到之前,显不显示?时间过了 消失还是继续存在?
opopop1 2011-05-02
  • 打赏
  • 举报
回复
顶上来,希望有人帮帮我!!
opopop1 2011-05-01
  • 打赏
  • 举报
回复
嗯,楼上说的很对,是要改成服务器时间,可是我的按钮时间到了还是出不来呀,麻烦各位帮我看一下!!
密码测试 2011-04-29
  • 打赏
  • 举报
回复
你这个是客户端时间吗?客户修改系统时间岂不是很危险?
灬海上孤帆灬 2011-04-29
  • 打赏
  • 举报
回复
var ss = killtime.getTime() % 60000;
ss = (ss - (ss % 1000)) / 1000;
var mins = killtime.getMilliseconds();
Hourleft = hh - NowHour;
Minuteleft = ms - NowMinute;
Secondleft = ss - NowSecond-1;
Minsecleft = mins - NowMin;
Yearleft = yy - NowYear ;
Monthleft = mm - NowMonth;
Dateleft = day - NowDate ;
opopop1 2011-04-29
  • 打赏
  • 举报
回复
兄弟姐妹呀,帮帮忙!!!
opopop1 2011-04-29
  • 打赏
  • 举报
回复
我现在改了一下:

rollkill.js

//startclock();
var timerID = null;
var timerRunning = false;

document.getElementById('btstart').style.display = "none";

function showtime(nowtime) {
Today = new Date();
var killtime = new Date(nowtime.replace(/-/g,"/"));
if (Today > killtime){
document.all.killminute.innerHTML = "本场秒杀已结束!猎物已被秒杀英雄斩获!";
}
else{
var NowHour = Today.getHours();
var NowMinute = Today.getMinutes();
var NowMonth = Today.getMonth();
var NowDate = Today.getDate();
var NowYear = Today.getYear();
var NowSecond = Today.getSeconds();
var NowMin = Today.getMilliseconds();
//获得传入时间
var yy = killtime.getYear();
var mm = killtime.getMonth();
var day = killtime.getDate();
var hh = killtime.getHours();
var ms = killtime.getMinutes();
var ss = killtime.getTime() % 60000;
ss = (ss - (ss % 1000)) / 1000;
var mins = killtime.getMilliseconds();
Hourleft = hh - NowHour;
Minuteleft = ms - NowMinute;
Secondleft = ss - NowSecond;
Minsecleft = mins - NowMin;
Yearleft = yy - NowYear ;
Monthleft = mm - NowMonth;
Dateleft = day - NowDate ;
//if (Minsecleft<0)
//{
// Minsecleft = 1000+Minsecleft;
// Secondleft = Secondleft-1;
//}
if (Secondleft<0)
{
Secondleft=60+Secondleft;
Minuteleft=Minuteleft-1;
}
if (Minuteleft<0)
{
Minuteleft=60+Minuteleft;
Hourleft=Hourleft-1;
}
if (Hourleft<0)
{
Hourleft=24+Hourleft;
Dateleft=Dateleft-1;
}
if (Dateleft<0)
{
Dateleft=31+Dateleft;
Monthleft=Monthleft-1;
}
if (Monthleft<0)
{
Monthleft=12+Monthleft;
Yearleft=Yearleft-1;
}
Temp=Yearleft+'年, '+Monthleft+'月, '+Dateleft+'天, '+Hourleft+'小时, '+Minuteleft+'分, '+Secondleft+'秒';

if(Today == killtime){
document.getElementById('btover').style.display = "none";
document.getElementById('btstart').style.display = "block";
}

timerID = setTimeout('showtime("'+nowtime+'")',1000);
timerRunning = true;
}
document.all.killhour.innerHTML = Temp;
}

var timerID = null;
var timerRunning = false;


function stopclock () {
if(timerRunning)
//clearTimeout(timerID);
timerRunning = false;
}

function startclock (kill_time) {
stopclock();
showtime(kill_time);
}
// -->

页面文件
<form id="form1" name="form1" method="post" action="">
<font id="killhour"></font>
<input type="image" src="msimg/2.gif" name="btstart" id="btstart" />

<img src="msimg/2.1.gif" name="btover" id="btover" height="56" />
<font id="killminute"></font>
</form>
<script type="text/javascript" src="../js/rollkill.js"></script>
<script language="javascript">startclock("传入的时间");
</script>


倒计时是可以的,就是时间到了后停在01秒那里不动了,然后秒杀按扭,直接显示"本场秒杀已结束!猎物已被秒杀英雄斩获!"

实在不知道怎么回事了!!
休谱诺斯 2011-04-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zfz1214 的回复:]

你刚开始的时候
document.getElementById("btkillst").visble = false;
后来时间到了
if(Today = killtime){
document.getElementById("btkillst").disabled = true;
}
能显示吗?
时间到应该为document.getElementById("btkillst"……
[/Quote]恩,你那个明显是禁止使用了,怎么也得改成enabled=true;
zfz1214 2011-04-27
  • 打赏
  • 举报
回复
你刚开始的时候
document.getElementById("btkillst").visble = false;
后来时间到了
if(Today = killtime){
document.getElementById("btkillst").disabled = true;
}
能显示吗?
时间到应该为document.getElementById("btkillst").visble = true;

81,114

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧