0

これが私のコードです:

function hideColumnAndShowOther(columnToHide, columnToShow) {
$(columnToHide).fadeTo("slow", 0.0, function() {
                       $(columnToShow).fadeIn("slow");
                       });
}

この場合、コールバック関数は呼び出されません。firebug ツールを使用して問題の原因を突き止めました。コールバック関数に「columnToShow」変数がありません。別ブロックなので理にかなっていると思うのですが、ではどうすれば解決できるでしょうか?ヒントはありますか?

ありがとう!

4

1 に答える 1

1

問題は、columnToShow 変数が範囲外であることです。その時点では何の意味もありません。代わりに $(this).fadeIn("slow") を試してください。

$(this) は、コールバック関数がその要素にアタッチされているため、フェードしたばかりの要素を参照します。

編集:(質問を読み間違えました)

次のように変更すると、動作するはずです。

function hideColumnAndShowOther(columnToHide, columnToShow) {
    var showColumn = columnToShow;
    $(columnToHide).fadeTo("slow", 0.0,
        function() {
           $(showColumn).fadeIn("slow");
        });
}
于 2010-10-29T08:45:14.070 に答える