0

ウィンドウサイズに応じて要素のサイズを計算したい。

このコードは機能します:

var photoHeight = function() {
    return {
        'height' : ($(window).height() / 15) + 'px'
    }
}

$(document).ready(function() {
    var $obj = $('#photo');
        var photoCss = photoHeight();
        $obj.css( photoCss );
    $(window).resize(function () {
        $obj.css( photoCss );
    });
});

しかし、除算ではなく減算する必要があります。私が変われば

'height' : ($(window).height() / 15) + 'px'

'height' : ($(window).height() - 15) + 'px'

値は「未定義」のようで、.css は適用されません。

完全な計算は次のようになります。

'height' : ($(window).height() - $('#page-header').outerHeight() - $('#page-footer').outerHeight() - 50) + 'px'
4

1 に答える 1

0

関数は必要ありませんphotoHeight()(ない方が簡単です):

$(document).ready(function() {
    var $obj = $('#photo');
    $obj.css("height", $(window).height() / 15);
    $(window).resize(function () {
        $obj.css("height", $(window).height() / 15);
    });
});

また、変数photoCSSphotoHeight()に設定すると、ウィンドウのサイズが変更されても変更されません。関数を使用する場合は、次のようなものを使用します$obj.css(photoHeight());

于 2013-10-05T17:31:22.510 に答える