2011-07-28 8 views
3

理想的には、これらの関数を順番に実行したいと思います。そのような形式:関数を入れ子に入れずに順次関数を実行する - jQuery

function functionOne() { 
    $('.div').animate({'height', 200}, 1000); 
} 

function functionTwo() { 
    // ... 
} 

$(document).ready(function() { 
    functionOne(); 
    functionTwo(); 
}); 

私は(下記)functionOneの「完全」コールバック関数の内部にネストfunctionTwoことができます知っているが、私はむしろそれは少し厄介を得ることができないだろうと。

function functionOne() { 
    $('.div').animate({'height', 200}, 1000, function() { 
     functionTwo(); 
    }); 
} 

乾杯は

+0

機能のネストについて「messy」とは何ですか? – Neal

+1

いいえ、あなたは次の関数を呼び出す必要はありません。 - $( '。div')。アニメーション({...}、functionTwo); –

+0

私はかなり大きいスクリプトを持っており、さまざまなイベントやメソッドで再利用されている関数を持っています。ちょっと面倒です – atb

答えて

2

たぶん、あなたは利用したい:私の意見では

function functionOne(callback) { 
    $('.div').animate({'height', 200}, 1000, callback); 
} 

function functionTwo() { 
    // ... 
} 

$(document).ready(function() { 
    functionOne(function2); 
}); 

ものの:

$(function(){ 
    $('.div').animate({'height', 200}, 1000, function(){ 
     // ... 
    }); 
}; 

は(あなたの機能2のサイズに応じて)読みやすく、より速く正確に同じことを行います。

関連する問題