次のコードを再利用可能にする正しい方法は何ですか(DIVのセットを非表示/表示するたびに同じ関数のバージョンを多く持つ必要がないようにするため):
// instructions
$('#hideInstructionsOverview').click(function() {
$('#instructionsOverview').fadeOut(400, function () {
$('#instructionsDetail').fadeIn(400);
});
});
$('#hideInstructionsDetail').click(function() {
$('#instructionsDetail').fadeOut(400, function () {
$('#instructionsOverview').fadeIn(400);
});
});
// group
$('#hideGroupOverview').click(function() {
$('#groupOverview').fadeOut(400, function () {
$('#groupDetail').fadeIn(400);
});
});
$('#hideGroupDetail').click(function() {
$('#groupDetail').fadeOut(400, function () {
$('#groupOverview').fadeIn(400);
});
});
上記のコードは、「命令」と「グループ」のdiv(および同じ方法で約7つの他のdiv)を非表示にするために同じ方法で使用されます。それぞれが呼び出されるのと同様の方法は、次のコードを使用する場合です。
<a id="hideInstructionsOverview" href="javascript:void(0);"><img src="img/misc/plus.png" alt="" width="40" height="40" border="0"></a>
<a id="hideInstructionsDetail" href="javascript:void(0);"><img src="img/misc/minus.png" alt="" width="40" height="40" border="0"></a>
<a id="hideGroupOverview" href="javascript:void(0);"><img src="img/misc/plus.png" alt="" width="40" height="40" border="0"></a>
<a id="hideGroupDetail" href="javascript:void(0);"><img src="img/misc/minus.png" alt="" width="40" height="40" border="0"></a>
変数を受け入れる関数を作成する方法があり、クリック時に3つの変数を渡す方法があると思います:(1)$this
クリックされた画像ID(おそらく使用されていると思います)、 (2) div to (3)どのdivfadeOut
を。変数の作成と受け渡しを正しく行うことができないようですが、最終的な再利用可能な関数は次のようになると思います。fadeIn
// divToggler
$('$this').click(function() {
$('#divToFadeOut').fadeOut(400, function () {
$('#divToFadeIn').fadeIn(400);
});
});
よろしくお願いします!
バークリー