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 回答