设为首页
收藏本站
最新电影
> 子栏目 firworks | photoshop | flash | 设计理论
您现在的位置: 首页=>图形图像=>flash 订阅本栏目  
深入了解setInterval方法
时间: 2007-09-28 11:25:00 阅读次数:5624


相信大家对setInterval方法肯定非常熟悉,但不少人对其缺乏深入的了解,致使当一个flash里有多个setInterval的时候就容易混淆,该清除的间隔lID没有清除,不该清除的时候却清除了对于setInterval的语法我就不赘述,很多文章都有详细说明,下面来说一下 setInterval的几个重点

1、setInterval和clearInterval都是全局函数,也就是_global.setInterval()和_global.clearInterval()

这一点大家应该都知道,但是可能并没有特别注意不过这点对我们理解他们非常重要setInterval的返回值是一个间隔lID(数字),所以这个间隔lID也是全局的飞飞Asp技术,乐园比如下面的代码:


var rootID=setInterval(_root,"test",500,"rootID");
function test(arg){
trace(arg);
}


我们用clearInterval(rootID)和用clearInterval(1)的作用是一样的
2、每一次调用setInterval,就会返回一个间隔lID,这个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因此给间隔lID添加标识符就显得非常重要但是必须把他分配到一个对象的成员变量中
比如下面的代码:newtest();

function newtest(){
var newID=setInterval(_root,"test",500,"btn2_ID");
}
function test(arg){
trace(arg);
}


这样的标识方法就是错误的,因为testID是一个局部变量,仅作用于new方法内飞,飞Asp技术乐园因而无法在其他地方用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是没有清除的明白上面三点后,这些应该就是显而易见的了飞飞Asp技.术乐园
总结:了解了上面几个重点后,我想使用setInterval方法就会一清二白了,不会怕setInterval了而clearInterval不了的情况了如有错误,敬请指正



站内搜索    

下一篇最简单的FLASH制作工具--SwishMax2006最新中文破解版

上一篇Flash破解与加密综合

本栏目最新 栏目最新列表
什么是 Adobe AIR
让flash背景透明的三种方法
JS下拉菜单被FLASH挡住的解决方法
XML加载图片
浅谈flash web的结构
网站优化策划 栏目最新列表
增加网站外链的快速方法
网站上线前必做的30个检查
新的友情链接参考标准(没有google的PR情况
优化Google的AdSense广告的五个工具
王通讲SEO八大基础
站点最新 站点最新列表
微博推广的一些技巧
xhEditor v1.1.7 发布,
收集的一些轻量级非常实
50个新鲜兼容最新版本的
javascript中cookie的设
Excel中出现#VALUE!、#D
jquery插件:飞飞表情插件
十个使用HTML5开发的精彩
支持HTML5的浏览器有哪些
飞妮莫属:漫画:如何写出
历史最热10条信息  
MIME介绍 及 [1] [2] [3]
巧用Google和迅雷来下载
VIA Rhine II Fast Ethe
Transact SQL 常 [1] [2]
电脑常用端 [1] [2] [3]
十道羊皮卷 欣赏+mp3版+
Do you get a kick out
每日一句:A friend and
每日一句:Theres no tu
网站开发常用手册
 width= 
伟哥博客 西安房产 123最新电影 三四六四