0

私はこれらがどのように機能するか本当に混乱しています...タイムアウトは、begin_anim一度呼び出しを実行し続けていないようで、それで終わりです....

だから、誰かが私がどこで間違ったのかを見て、これをどのように実装するかを説明してくれることを願っていますか?

これは私のコードです:

//test data:
//type = 'up';
//div = document.getElementById('theid');
//marginL = -400;

function timeout_begin(type,div,marginL){   
    setTimeout(begin_anim(type,div,marginL),1000);
}

function begin_anim(type,div,marginL){
    if(type == 'up'){
        if(marginL >= '-200'){ 
                if(marginL > '-200'){ 
                    div.style.marginLeft = '-200px';
                }
            return false;
        }
    marginL += 2;
    div.style.marginLeft = marginL+'px';


    }
    return false;
}

あなたが助けてくれることを願っています!

4

4 に答える 4

0

setTimeout は、指定されたタイムアウト後に関数を 1 回だけ実行することが想定されています。ここのドキュメントを参照してください: http://www.w3schools.com/jsref/met_win_settimeout.asp

おそらく、clearInterval が呼び出されるまで設定した間隔でコードを実行するsetInterval ( http://www.w3schools.com/jsref/met_win_setinterval.asp ) を探しているでしょう。

于 2013-05-21T04:08:38.487 に答える