帮忙看看这段javascript代码

来源:百度知道 编辑:UC知道 时间:2024/05/30 05:13:10
<script type="text/javascript">
var msec=0
var sec=0
var min=0
function Time()
{
document.forms[0].time.value=min+":"+sec
go=setTimeout("Time()",1)
msec++
if(msec==1500)
{
msec=0
sec++
if(sec==10)
{
window.alert('asdf')
else
if(sec==30)
{
window.alert('ccc')
document.all("Ibtn_submit").click()
}
}

if(sec==59)
{
if(min<20)
{
sec=0
min++
}}

}
}
</script>
不计时直接就执行了click() 这是怎么回事啊 我想弹出ccc点确定后再执行click()

老大你帖的代码乱成啥了,你确定“不计时直接就执行了click()”有可能发生?
看看你的代码:
......
if(sec==10)
{
window.alert('asdf')
else
if(sec==30)
{
window.alert('ccc')
document.all("Ibtn_submit").click()
}
}
......
if(sec==30)是从属于if(sec==10)的,这样的话我不知道你这个if(sec==30)后面的代码是怎么有可能执行到的?

你可以告诉我们你到底想实现什么功能这样帮你把代码写出来估计比看你这堆代码还快,

按照你的“我想弹出ccc点确定后再执行click()”的想法,关键代码这样写就可以了
....
if(confirm("ccc")){
document.all("Ibtn_submit").click()
}
....
置于你的计时执行就不知道你什么意思了,

最后提两点建议
1,像go=setTimeout("Time()",1) 语句里go这样的变量貌似是一个保留词吧,应该尽量避免这样的变量名,同时你这样写就是使用了一个全局变量go,如果确实要用全局变量则最好在代码前声明,同时能不用全局变量最好不用,而你这里完全没必要用全局,写成var go=setTimeout("Time()",1)更好。

2.分号加上为好,js很多语法虽然很宽容,但是你最好养成好习惯,像你这样的代码如果压缩以后就完全费了