关于jssetinterval的信息

http://www.itjxue.com  2023-01-15 03:35  来源:未知  点击次数: 

js中setInterval()函数只执行一次的原因

原因分析

产生这个问题是因为我们对js函数理解不透彻导致的:

1,show():这样写表示函数执行后的结果

2,show:这样写表示函数的定义

因setInterval()要接收一个函数的定义而非结果,故改正为:

js里setinterval怎么用

function?show1(){

????trace("每隔1秒显示一次");

}

function?show2(str){

????trace(str);

}

setInterval(show1,1000);

setInterval(show2,2000,"每隔2秒我就会显示一次");

上面已经将函数的setInterval方法介绍了。

下面我们将介绍对象的setInterval方法。

首先,写一个setInterval在动作中调用对象的方法的例子,该例子不需要传递参数。

myobj=new?Object();//创建一个新的对象

myobj.interval=function){

????trace("每隔1秒显示一次");

}//创建对象的方法。

setInterval(myobj,"interval",1000);//设定时间间隔调用对象的方法。

接下来介绍如何传递参数。其实道理和函数的传递参数是一样的。

myobj=new?Object();

myobj.interval-function(str){

????trace(str);

}

setInterval(myobj,"interval",2000,"?每隔2秒我就会显示一次");

注意。要调用为对象定义的方法时,必须在专家模式中使用第二种语法格式。

这样子的话呢,我们来作一个动态显示时间的画面。可以用下面的代码实现。

setInterval(show,1000);

function?show(){

????time=new?Date();

????hour=time.getHours();

???????minu=time.getMinutes();

???????sec=time.get.Seconds();

????datetime=hour+":"+minu+":"+sec;

}//这里的datetime是一个动态文本框的变量名字。

这样子呢,setInterval这个方法大家应该学的很好了。现在呢,我们学习clearInterval.

clearInterval动作的作用是清楚对setInterval函数的调用,它的语法格式如下clearInterval(intervalid);intervalid是调用setInterval函数后返回的对象。

下面举一个简单的例子。

function?show(){

????trace("每隔一秒显示一次");

}

var?sh;

sh=setInterval(show,1000);

clearInterval(sh);

js setInterval循环问题

你在函数内再次用setInterval调用函数本身,就会产生叠加效果,速度会越来越快。应该一次性用setInterval调用函数即可:

script

var?i?=?0;

var?timer?=?setInterval(function(){

???document.getElementById("text").value?=?i++;

},5000);

function?stop2(){

???clearInterval(timer);

}

/script

或者改用setTimeout也可,这是一次性调用的(相当于定时器),那么在函数内再次调用就能实现循环效果了。而setInterval本身就是重复调用的(相当于计时器),不能放在函数内使用:

script

var?i?=?0;

var?timer?=?0;

window.onload?=?function?start2(){

???document.getElementById("text").value?=?i++;

???timer?=?setTimeout(start2,?5000);

}

function?stop2(){

???clearTimeout(timer);

}

/script

(责任编辑:IT教学网)

更多

推荐金山WPS文章