setinterval重复调用问题(怎么让setinterval不重复执行)

http://www.itjxue.com  2023-01-30 01:00  来源:未知  点击次数: 

js 中 setInterval的执行次数问题

虽然是老问题了,但是好像没看到有人解释一下为什么出错,上来给大家补一个

setInterval被包含在Interval所调用的函数里了,这就意味着每次循环,都会再启动一个Interval

也就是说,第一次的循环

timeDao--;

计数100 - 1 = 99

并且添加一个新的循环 (当前有 2 个循环进程)

第二次循环

99 - 1 = 98

98 - 1 = 97

并且两个现有循环各添加一个新的循环(当前有 4 个循环进程)

第三次循环

97 - 1 = 96

96 - 1 = 95

95 - 1 = 94

94 - 1 = 93

... (不用再往下写了,相信已经说明了问题)

以下为修改代码:

script?type="text/javascript"

var?sh?=?null;??//?时钟对象

var?timeDao?=?100;??//?计数器

//?FUNCTION?::?dao?()

//?计数递减函数

function?dao?()?{

????divD.innerText?=?timeDao;

????if(timeDao?==?0)?{

????????if?(sh?!=?null)?clearInterval(sh);

????????sh?=?null;

????????return;

????}

????timeDao--;

}

//?FUNCTION?::?startsh?()

//?启动计时器

function?startsh?()?{

????sh?=?setInterval("dao()",?1000);

}

/script

div?id="divD"?onclick="startsh()"sdfa/div

JQuery setInterval() 方法 重复调用时 会出现问题 越来越快 清除也没用

问题:当一个页面同时有两个setInterval函数调用的冲突如何解决?

解决方法:

1.定义两个变量 并把 setInterval 赋值给变量

var a = setInterval(function(){ ------ code ------},1000)

var b = setInterval(function(){ ------ code ------},1000)

2.清除

clearInterval(a)

clearInterval(b)

--------------------------------------------------------------------------

举例:

注:

setInterval()方法会不停地调用函数,直到用clearInterval()终止定时或窗口被关闭。

window.clearInterval()

功能:取消由setInterval()方法设置的定时器。

javascript setinterval()的问题

写的有点瑕疵:

$(document).ready(function?()?{

?var?timer?=?setInterval(scrollText,?18000);?//?第一个参数传个函数名

});

js setInterval怎么设置执行次数

settimeout(执行函数,时间)能满足你的要求,setinterval(执行函数,时间)不行。

因为settimeout只运行一次而setinterval多次运行,每次timeout后再调用一次自己也就达到了多次运行的效果,并且每次调用的时间间隔可以不一样

var

timer=1000;//这里定义一个全局变量,其它地方可能修改它

t=function(){

//your

code

here

//do

something

timer+=10;//在这修改timer,当然,你在外面修改的话就把这个注释掉

settimeout(t,timer);//再次调用

}

settimeout(t,timer);//全局调用一次。

javascprit setInterval 只运行1次 我想一直循环执行Fun()函数

window.setTimeOut("Fun()",10);

如果整 脚本中间有 问题,也会停了的。

在IE8中javascript 中setinterval 反复调用同一个方法 问题

把那个方法写成函数呢?如下:

function?popupDialog(){

????//具体内容,在同一个画面要多次调用

}

var?re?=?setInterval('popupDialog()'?,10);

(责任编辑:IT教学网)

更多

推荐网络赚钱文章