setTimeout()与clearTimeout()的使用2008年03月26日 星期三 23:06<head>
<script type="text/javascript">
function startload()
{
mytimer=window.setTimeout("alert('时间很晚了,应该离开了!')",10000)
}
function stop()
{
window.clearTimeout(mytimer);
con=confirm("真的想结束浏览吗?");
if(con==ture)window.close();
}
</script>
</head>
<body onLoad="startload()">
<form>
<center>
<h3>请在10秒钟单击以下按钮以技术浏览:</h3>
<input type="button" value="请在10秒钟内单击此按钮" onClick="stop()">
</center>
</form>
</body>
<head>
<script type="text/javascript">
function startload()
{
mytimer=window.setTimeout("alert('时间很晚了,应该离开了!')",10000)
}
function stop()
{
window.clearTimeout(mytimer);
con=confirm("真的想结束浏览吗?");
if(con==ture)window.close();
}
</script>
</head>
<body onLoad="startload()">
<form>
<center>
<h3>请在10秒钟单击以下按钮以技术浏览:</h3>
<input type="button" value="请在10秒钟内单击此按钮" onClick="stop()">
</center>
</form>
</body>
首先我的浏览器是正常滴.我在在页面body上放了一个<img id="myimg" src="本地的一个小图片"/>;
又在body的onload事件上放了个事件
Init(){imgObj.src="网络上的一个图片";//imgObj是image对象
clearIt();}
function clearIt(){
document.getElementById("span1").innerText=i++;//i在外部定义
if(imgObj.complate){document.getElementById("myimg").src=imgObj.src;clearTimeout(test);}
setTimeout("clearIt()",1000);
}
问题出来了,当网络上的图片加载完后,替换了当前的图片,但是记时器没有停下来。当我把,clearTimeout()这个方法交给一个button执行时。它就停下来了。请问是为什么,难道这个方法必须让客户端手动激发吗???
clearTimeout(test); 不知道你这里面的test是哪来的,
要使clearTimeout生效,你应该给它传一个正确的对象.
例如: var timing = setTimeout("alert('abcd')", 1000);
clearTimeout(timing);
stop按钮错在哪了,我一点就说有错,错在哪了,HELP。。。。
<HTML>
<HEAD>
<script Language="JavaScript">
var msg = "管井洋水产资讯网" ;
var interval = 100
var spacelen = 120;
var space10=" ";
var seq=0;
function Scroll() {
len = msg.length;
window.status = msg.substring(0, seq+1);
seq++;
if ( seq >= len ) {
seq = 0;
window.status = '';
var ink=window.setTimeout("Scroll();", interval );
}
else
ink=window.setTimeout("Scroll();", interval );
}
</script>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html">
<META NAME="GENERATOR" CONTENT="主页制作百宝箱99版">
<META NAME="Author" CONTENT="主页制作百宝箱99版">
<TITLE>你的标题</TITLE>
</HEAD>
<BODY>
<form name="theform">
<input type="button" value="star" onclick="Scroll();"><p>
<input type="button" value="stop" onclick="window.clearTimeout(ink);">
</form>
</BODY>
</HTML>
-------------------------------
function doIt(){}
要定时运行该函数可用:
var theTimer;
theTimer=setTimeout('doIt()',4000);//数字为毫秒
若要每隔4秒执行一次可以在doIt()中加一个setTimeout:
var flag=0;
function doIt()
{
.......
if(flag==1){setTimeout('doIt()',4000);}
}
用下面的方法来启动:
function AutoPlay()
{
flag=1;
doIt();
}
取消定时用clearTimeout()方法
上面的例子可用下面的方法来停止:
function StopPlay()
{
flag=0;
clearTimeout(theTimer);
}