1

別の関数が終了した直後にremoveClass関数を機能させようとしているので、fittocontainerを呼び出すための次のスクリプトがあります。

    function fittocontainer(){
        $('.fittocontainer').fittocontainer()
    }

そして、関数'fittocontainer'が終了した後、この関数を適用したいと思います。

            setTimeout ( function(){
                $('#footer').removeClass("active");
            }) 

setTimeout関数を「fittocontainer()」と統合して、終了した直後に機能させるにはどうすればよいですか?

4

2 に答える 2

3

setTimeout()は約時間(分、秒)です。最後にその関数のみを実行する場合は、それを呼び出すか、コールバック関数を使用できます。

function fittocontainer(callback){
  $('.fittocontainer').fittocontainer();
  callback();
}

次に、fittocontainerを呼び出します。

fittocontainer(function(){
  $('#footer').removeClass("active");
});
于 2013-02-24T22:59:55.973 に答える
3

fittocontainerはあなたが作った関数ですか?その場合、非同期である場合は、次のようなコールバックを追加する必要があります。

function fittocontainer (cb) {
  //do some stuff
  cb();
}

次に、関数または次のような無名関数を渡して呼び出すことができます。

fittocontainer(function () {
  // do stuff afterwards
});

この関数がDOMを更新している場合、ほとんどの場合非同期です。非同期メソッドの後にタイムアウトを使用してコードを実行しようとすることは非常に危険であり、決して実行しないでください。

同期している場合は、次の行で関数を呼び出すだけで、fittocontainerの完了後に実行されることがわかります。

また、次のようにsetTimeoutでタイムアウトが必要であることを忘れないでください。

setTimeout(function(){
  $('#footer').removeClass("active");
}, 1000);

これは1秒のタイムアウトです

于 2013-02-24T23:00:51.217 に答える