| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1135 人关注过本帖
标题:关于函数调用,两个settimeout同时调用同一函数出错
取消只看楼主 加入收藏
安之若素ㄟ
Rank: 1
来 自:河南
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-1-10
结帖率:0
收藏
已结贴  问题点数:20 回复次数:0 
关于函数调用,两个settimeout同时调用同一函数出错
现在我们学的js特效,我自己做的是打地鼠的游戏,网上的代码很简练但是看不懂。
我的代码是这样的。

var n=0;
function movetop(no){
    //  每次使层向上移动固定距离。
    n++;
    var MT=setTimeout(movetop(no),100);
    if(n==10){
        clearTimeout(MT);
        var MB=setTimeout(movebottom(no),100);
    }  
}

function movebottom(no){
     //每次使层向下移动固定距离
    n--;
    if(n==0){
        clearTimeout(MB);
    }
}

//产生随机数使某一个层移动
function bringRandom(){
    var ra=随机数;

    movetop(ra);
    //调用使层移动
    setTimeout(bringRandom,1000);
}


大致代码是这样的,问题就是,一个层上下移动回原位置需要2分,随机数每一分钟产生一次,第一次是 层1 移动,还没移动回原位置时 movetop 函数又被调用,于是 层1 移动到一半就一直向一个方向移动了,层2 又开始移动了……所以不知道怎么解决这个问题。

还有一个问题就是,当页面运行时执行 onmousemove 时间时,页面会卡,好像影响 settimeout事件的执行,时间又会乱了。郁闷那,这个settimeout 事件很不可靠。
搜索更多相关主题的帖子: 打地鼠 游戏 
2011-01-10 23:49
快速回复:关于函数调用,两个settimeout同时调用同一函数出错
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011232 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved