深入了解flash as中的setinterval方法_flash教…
2008-04-02 11:08:05来源:互联网 阅读 ()
相信大家对Flash的setInterval方法肯定很熟悉,但不少人对其缺乏深入的了解,致使当一个flash里有多个setInterval的时候就容易混淆,该清除的间隔ID没有清除,不该清除的时候却清除了。对于setInterval的语法我就不赘述,很多文章都有周详说明,下面来说一下setInterval的几个重点。
1、setInterval和clearInterval都是全局函数,也就是_global.setInterval()和_global.clearInterval()。
这一点大家应该都知道,但是可能并没有特别注意。但是这点对我们理解他们很重要。setInterval的返回值是个间隔ID(数字),所以这个间隔ID也是全局的。
比如下面的代码:
var rootID=setInterval(_root, "test", 500, "rootID");
function test(arg) {
trace(arg);
}
我们用clearInterval(rootID)和用clearInterval(1)的作用是相同的。
2、每一次调用setInterval,就会返回一个间隔ID,这个ID数值为全局setInterval的调用次数。
比如下面的代码:
var rootID=setInterval(_root, "test", 500, "rootID");
btn1.onPress=function(){
setInterval(_root, "test", 500, "btn1_ID");
}
btn2.onPress=function(){
setInterval(_root, "test", 500, "btn2_ID");
}
function test(arg) {
trace(arg);
}
在这个例子里,我们能够用clearInterval(1)来清除间隔rootID。假如我们先点击btn1再点击btn2,那么就能够用clearInterval(2)来清除点击btn1所产生的间隔ID,而用clearInterval(3)来清除点击btn2所产生的间隔ID。相反,假如我们先是点击btn2再点击btn1,那么clearInterval(2)则是清除点击btn2所产生的间隔ID.
3、给间隔lID添加标识符
在实际编程中,用上面的clearInterval(数字)这样的方式固然能够清除间隔ID,但是一旦ID过多,我们就会无法识别该清除哪个ID。因此给间隔ID添加标识符就显得很重要。但是必须把他分配到一个对象的成员变量中。
比如下面的代码:
newtest();
function newtest(){
var newID=setInterval(_root, "test", 500, "btn2_ID");
}
function test(arg) {
trace(arg);
}
这样的标识方法就是错误的,因为testID是个局部变量,仅作用于new方法内。因而无法在其他地方用clearInterval(newID)来清除此间隔。而去掉前面的var就能够了(此时newID是_root的一个成员变量)。
4、增加一个清除loadMovieNum加载进来swf的间隔ID的例子:
在IntervalID2.swf文档里的有个间隔ID:
var IntervalID2=setInterval(_root, "test", 1000, "IntervalID2");
function test(arg) {
trace(arg);
}
在IntervalID1.swf里:
loadMovieNum("IntervalID2.swf",1)
btn1.onPress = function() {
clearInterval(_level1.IntervalID2)
IntervalID1=setInterval(_root, "test", 2000, "IntervalID1");
};
btn2.onPress = function() {
clearInterval(2)
//clearInterval(IntervalID1)
};
function test(arg) {
trace(arg);
}
在此例中,假如我们先点击btn1再点击btn2,那么2个间隔ID都会删除,而假如先点击btn2,那么IntervalID1是没有清除的。明白上面三点后,这些应该就是显而易见的了。
总结:了解了上面几个重点后,我想使用setInterval方法就会很清楚了,不会怕setInterval了而clearInterval不了的情况了。如有错误,敬请指正。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash