+ -
当前位置:首页 → 问答吧 → 清除封在函数里的setinterval

清除封在函数里的setinterval

时间:2010-12-02

来源:互联网

//player system
function ga() {
       var s = new Sound();
       s.onLoad = function(ok) {
              if (ok) {
                     //开播
                     ga_(s, 'play');
                     //获取停止ID,并启动间隔函数
                     var stop_interval = interval();                     
              }
       };
       s.loadSound('ga.mp3', true);
}
//player conn
function ga_(mp3_obj, type) {
       if (type == 'play') {
              mp3_obj.start(0, 999);
       } else {
              mp3_obj.stop;
       }
}
//interval
function interval(mp3_obj) {       
       key = setInterval(interval_event, 4000, mp3_obj, 'stop');
       return key;
}
//interval fun
function interval_event(mp3_obj, type) {
       if (type == 'stop') {
              ga_(mp3_obj, 'stop');
              stop_interval_event(stop_interval);
       } else {
              ga_(mp3_obj, 'play');
       }
}
// stop interval
function stop_interval_event(key) {
       clearInterval(key);
}
//run system
ga();

这样的 inerval 用 clearinterval怎么清除

[ 本帖最后由 ebfming3 于 2010-12-2 16:02 编辑 ]

作者: ebfming3   发布时间: 2010-12-02

搞定了

作者: ebfming3   发布时间: 2010-12-02

clearinterval 是全局的,使用时用变量记录起来,清除时给这个ID就行

作者: flash023   发布时间: 2010-12-02