帮看看这段代码的问题在哪里?

三碗猪脚 2009-08-15 10:05:27

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript" language="javascript">
var time = 10;
function dec()
{
try
{
time--;
document.getElementById("time_pad").innerHTML = time;
if (time == 0) document.getElementById("do_OK").fireEvent("onclick");
}
catch (e)
{ }
}
function sAlert(txt,success, delaytime)
{
// try
// {
if (success)
{
txt = "<img alt='success' src='../images/ico/035.png' align='Middle'/>恭喜!" + txt;
}
else
{
txt = "<img alt='failed' src='../images/ico/039.png' align='Middle'/>Sorry!" + txt;
}
time = delaytime;
window.setInterval("dec()", 1000);
var shield = document.createElement("DIV");
shield.id = "shield";
shield.style.position = "absolute";
shield.style.left = "0px";
shield.style.top = "0px";
shield.style.width = "100%";
shield.style.height = document.body.scrollHeight + "px";
shield.style.background = "#333";
shield.style.textAlign = "center";
shield.style.zIndex = "10000";
shield.style.filter = "alpha(opacity=0)";
shield.style.opacity = 0;
var alertFram = document.createElement("DIV");
alertFram.id = "alertFram";
alertFram.style.position = "absolute";
alertFram.style.left = "50%";
alertFram.style.top = "50%";
alertFram.style.marginLeft = "-225px";
alertFram.style.marginTop = -75 + document.documentElement.scrollTop + "px";
alertFram.style.width = "450px";
alertFram.style.height = "150px";
alertFram.style.background = "#ccc";
alertFram.style.textAlign = "center";
alertFram.style.lineHeight = "150px";
alertFram.style.zIndex = "10001";
strHtml = " <ul style=\"list-style:none;margin:0px;padding:2px;width:100%\"> \n";
strHtml += " <li style=\"background:#EDF2F5;text-align:left;padding-left:20px;font-size:18px;font-weight:bold;height:25px;line-height:25px;border:1px solid #F9CADE;\"> [提示信息]:     <span id='time_pad' style=\"color:blue;font-family:Verdana;font-weight:bold;\">" + time + "</span> 秒钟后关闭" + " </li> \n";
strHtml += " <li style=\"background:#fff;text-align:center;font-size:14px;height:120px;line-height:120px;border-left:1px solid #F9CADE;border-right:1px solid #F9CADE;\"> " + txt + " </li> \n";
strHtml += " <li style=\"background:#FDEEF4;text-align:center;font-weight:bold;height:20px;line-height:25px; border:1px solid #C6E1F2;\"> <input type=\"button\" value=\" 确 定 \" id=\"do_OK\" onclick=\"doOk()\" style=\"width:60px\" /> </li> \n";
strHtml += " </ul> \n";
alertFram.innerHTML = strHtml;
document.body.appendChild(alertFram);
document.body.appendChild(shield);
this.setOpacity = function(obj, opacity)
{
if (opacity >= 1) opacity = opacity / 100;
try { obj.style.opacity = opacity; } catch (e) { }
try
{
if (obj.filters.length > 0 && obj.filters("alpha"))
{
obj.filters("alpha").opacity = opacity * 150;
} else
{
obj.style.filter = "alpha(opacity=\"" + (opacity * 150) + "\")";
}
} catch (e) { }
}
var c = 0;
this.doAlpha = function()
{
if (++c > 20) { clearInterval(ad); return 0; }
setOpacity(shield, c);
}
var ad = setInterval("doAlpha()", 1);
this.doOk = function()
{
document.body.removeChild(alertFram);
document.body.removeChild(shield);
document.body.onselectstart = function() { return true; }
document.body.oncontextmenu = function() { return true; }
}
document.getElementById("do_OK").focus();
document.body.onselectstart = function() { return false; }
document.body.oncontextmenu = function() { return false; }
// }
// catch (e)
// { }
}
</script>
</head>

<body>
<input type="button" onclick="sAlert('提示提示',false,6);" value="提示" />
</body>
</html>


第一个参数: 提示内容
第二个参数: 图片显示
第三个参数: 关闭时间

弹出提示框自动关闭,第一次执行还正常,但第二次执行时发现时间还没有到就关,
执行的次数越多,关闭的就越快,怎么修改一下啊,我对JS基本不懂。。。。。
先谢了
...全文
76 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
三碗猪脚 2009-08-16
  • 打赏
  • 举报
回复
谢谢大哥~~~~~~~~`
hookee 2009-08-15
  • 打赏
  • 举报
回复
要先clearInterval()

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript" language="javascript">
var time = 10;
var tid;
function dec()
{
try
{
time--;
document.getElementById("time_pad").innerHTML = time;
if (time == 0) document.getElementById("do_OK").fireEvent("onclick");
}
catch (e)
{ }
}
function sAlert(txt,success, delaytime)
{
// try
// {
if (success)
{
txt = "<img alt='success' src='../images/ico/035.png' align='Middle'/>恭喜!" + txt;
}
else
{
txt = "<img alt='failed' src='../images/ico/039.png' align='Middle'/>Sorry!" + txt;
}
time = delaytime;
if(tid!=null){clearInterval(tid);tid=null}
tid = window.setInterval("dec()", 1000);
var shield = document.createElement("DIV");
shield.id = "shield";
shield.style.position = "absolute";
shield.style.left = "0px";
shield.style.top = "0px";
shield.style.width = "100%";
shield.style.height = document.body.scrollHeight + "px";
shield.style.background = "#333";
shield.style.textAlign = "center";
shield.style.zIndex = "10000";
shield.style.filter = "alpha(opacity=0)";
shield.style.opacity = 0;
var alertFram = document.createElement("DIV");
alertFram.id = "alertFram";
alertFram.style.position = "absolute";
alertFram.style.left = "50%";
alertFram.style.top = "50%";
alertFram.style.marginLeft = "-225px";
alertFram.style.marginTop = -75 + document.documentElement.scrollTop + "px";
alertFram.style.width = "450px";
alertFram.style.height = "150px";
alertFram.style.background = "#ccc";
alertFram.style.textAlign = "center";
alertFram.style.lineHeight = "150px";
alertFram.style.zIndex = "10001";
strHtml = " <ul style=\"list-style:none;margin:0px;padding:2px;width:100%\"> \n";
strHtml += " <li style=\"background:#EDF2F5;text-align:left;padding-left:20px;font-size:18px;font-weight:bold;height:25px;line-height:25px;border:1px solid #F9CADE;\"> [提示信息]:     <span id='time_pad' style=\"color:blue;font-family:Verdana;font-weight:bold;\">" + time + "</span> 秒钟后关闭" + " </li> \n";
strHtml += " <li style=\"background:#fff;text-align:center;font-size:14px;height:120px;line-height:120px;border-left:1px solid #F9CADE;border-right:1px solid #F9CADE;\"> " + txt + " </li> \n";
strHtml += " <li style=\"background:#FDEEF4;text-align:center;font-weight:bold;height:20px;line-height:25px; border:1px solid #C6E1F2;\"> <input type=\"button\" value=\" 确 定 \" id=\"do_OK\" onclick=\"doOk()\" style=\"width:60px\" /> </li> \n";
strHtml += " </ul> \n";
alertFram.innerHTML = strHtml;
document.body.appendChild(alertFram);
document.body.appendChild(shield);
this.setOpacity = function(obj, opacity)
{
if (opacity >= 1) opacity = opacity / 100;
try { obj.style.opacity = opacity; } catch (e) { }
try
{
if (obj.filters.length > 0 && obj.filters("alpha"))
{
obj.filters("alpha").opacity = opacity * 150;
} else
{
obj.style.filter = "alpha(opacity=\"" + (opacity * 150) + "\")";
}
} catch (e) { }
}
var c = 0;
this.doAlpha = function()
{
if (++c > 20) { clearInterval(ad); return 0; }
setOpacity(shield, c);
}
var ad = setInterval("doAlpha()", 1);
this.doOk = function()
{
document.body.removeChild(alertFram);
document.body.removeChild(shield);
document.body.onselectstart = function() { return true; }
document.body.oncontextmenu = function() { return true; }
}
document.getElementById("do_OK").focus();
document.body.onselectstart = function() { return false; }
document.body.oncontextmenu = function() { return false; }
// }
// catch (e)
// { }
}
</script>
</head>

<body>
<input type="button" onclick="sAlert('提示提示',false,6);" value="提示" />
</body>
</html>

87,904

社区成员

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

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