0

私はいくつかの非常に単純なコードを持っています:

var overlay = {
    show: function() {
        var width = $('#checkout-region').outerWidth();
        var height = $('#checkout-region').outerHeight();
        // Set vars and show
        $('#checkout-processing').css({
            'height': height + 'px',
            'width': width + 'px'
        }).fadeIn(300);
    },
    hide: function() {
        $('#checkout-processing').fadeOut(300);
    }
}

ただoverlay.show();を許可するには およびoverlay.hide();。コンソール(Chrome)でそれらを実行しようとすると、(非常に便利な)「未定義」が引き続き表示されます。単純なconsole.log('ok'); は関数がそこにあることを示していますが、私はこれを理解することができません。

それはおそらく愚かなことですが、私は睡眠不足で、このプロジェクトにあまりにも長い間取り組んできました。どんな助けでも大歓迎です。

4

1 に答える 1

1

Undefinedはエラーではなく、戻り値です。

これらの関数は、行がないため Undefined を返しreturn something;ます。

コードをデバッグしようとしている場合は、クエリ結果を console.log して、クエリが正しい要素を返しているかどうかを確認する必要があります。そのようです:

console.log($('#checkout-processing'));

これが機能する場合、要素はフェードアウトするはずです。

于 2012-07-19T14:01:17.920 に答える