<script>
function a() {
var i = 0;
if (i == 0) {
alert(i);
var tid= setInterval(function() {
++i;
alert(i);
if (i > 10) {
clearTimeout(tid);
}
}, 100);
}
}
a();
alert("last..");
</script>
本意是将定时器执行完成以后,最后再输出last。。可是结果不是这样。
我的last必须是要等定时器执行完成以后才能输出。不能放在定时器里面。有什么办法可以解决?
8 个解决方案
#1
不行吧,定时器好比一个循环语句只要满足条件,他会一直执行下去。
#2
<script>
function a() {
var i = 0;
var tid = setInterval(
function(){
++i;
alert(i);
if (i > 2) {
clearTimeout(tid);
alert("last...");
}
}, 100);
}
a();
</script>
IE6下测试成功。
#3
回2楼的,我的last必须是要等定时器执行完成以后才能输出。不能放在定时器里面。有什么办法可以解决。
这个办法我知道。。。我要的是在定时器外面执行。
这个办法我知道。。。我要的是在定时器外面执行。
#4
在clearTimeout()函数后面再调用一个函数不就行了嘛。
这个函数里面你就写alert("last...");就会在最后弹出来。
这个函数里面你就写alert("last...");就会在最后弹出来。
#5
现在有很多定时器,都是在满足一定条件以后才终止。所以不能在定时器里面做我要继续的任务。
4楼的,我应该说清楚了吧
4楼的,我应该说清楚了吧
#6
就是这样的了
#7
快要崩溃了。为什么一而再,再而三的说,还是不明白呢?????????
#8
clearTimeout(tid);跳出再做alert("last..");????
<script>
function a() {
var i = 0;
if (i == 0) {
alert(i);
var tid= setInterval(function() {
++i;
alert(i);
if (i > 10) {
clearTimeout(tid);
}
}, 100);
}
}
a();
function b(){
alert("last..");
}
b();
</script>
这样不行?
或者
<script>
var flag = false;
function a() {
var i = 0;
if (i == 0) {
alert(i);
var tid= setInterval(function() {
++i;
alert(i);
if (i > 10) {
clearTimeout(tid);
flag==true;
}
}, 100);
}
}
a();
function b(){
if(true==flag)
alert("last..");
}
b();
</script>
<script>
function a() {
var i = 0;
if (i == 0) {
alert(i);
var tid= setInterval(function() {
++i;
alert(i);
if (i > 10) {
clearTimeout(tid);
}
}, 100);
}
}
a();
function b(){
alert("last..");
}
b();
</script>
这样不行?
或者
<script>
var flag = false;
function a() {
var i = 0;
if (i == 0) {
alert(i);
var tid= setInterval(function() {
++i;
alert(i);
if (i > 10) {
clearTimeout(tid);
flag==true;
}
}, 100);
}
}
a();
function b(){
if(true==flag)
alert("last..");
}
b();
</script>
#1
不行吧,定时器好比一个循环语句只要满足条件,他会一直执行下去。
#2
<script>
function a() {
var i = 0;
var tid = setInterval(
function(){
++i;
alert(i);
if (i > 2) {
clearTimeout(tid);
alert("last...");
}
}, 100);
}
a();
</script>
IE6下测试成功。
#3
回2楼的,我的last必须是要等定时器执行完成以后才能输出。不能放在定时器里面。有什么办法可以解决。
这个办法我知道。。。我要的是在定时器外面执行。
这个办法我知道。。。我要的是在定时器外面执行。
#4
在clearTimeout()函数后面再调用一个函数不就行了嘛。
这个函数里面你就写alert("last...");就会在最后弹出来。
这个函数里面你就写alert("last...");就会在最后弹出来。
#5
现在有很多定时器,都是在满足一定条件以后才终止。所以不能在定时器里面做我要继续的任务。
4楼的,我应该说清楚了吧
4楼的,我应该说清楚了吧
#6
就是这样的了
#7
快要崩溃了。为什么一而再,再而三的说,还是不明白呢?????????
#8
clearTimeout(tid);跳出再做alert("last..");????
<script>
function a() {
var i = 0;
if (i == 0) {
alert(i);
var tid= setInterval(function() {
++i;
alert(i);
if (i > 10) {
clearTimeout(tid);
}
}, 100);
}
}
a();
function b(){
alert("last..");
}
b();
</script>
这样不行?
或者
<script>
var flag = false;
function a() {
var i = 0;
if (i == 0) {
alert(i);
var tid= setInterval(function() {
++i;
alert(i);
if (i > 10) {
clearTimeout(tid);
flag==true;
}
}, 100);
}
}
a();
function b(){
if(true==flag)
alert("last..");
}
b();
</script>
<script>
function a() {
var i = 0;
if (i == 0) {
alert(i);
var tid= setInterval(function() {
++i;
alert(i);
if (i > 10) {
clearTimeout(tid);
}
}, 100);
}
}
a();
function b(){
alert("last..");
}
b();
</script>
这样不行?
或者
<script>
var flag = false;
function a() {
var i = 0;
if (i == 0) {
alert(i);
var tid= setInterval(function() {
++i;
alert(i);
if (i > 10) {
clearTimeout(tid);
flag==true;
}
}, 100);
}
}
a();
function b(){
if(true==flag)
alert("last..");
}
b();
</script>