Я хочу рассчитать размер элемента в зависимости от размера окна.
Этот код работает:
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'
Вам не нужна photoHeight()
(это проще без):
$(document).ready(function() {
var $obj = $('#photo');
$obj.css("height", $(window).height() / 15);
$(window).resize(function () {
$obj.css("height", $(window).height() / 15);
});
});
Также обратите внимание: если вы установите для переменной photoCSS
значение photoHeight()
, она не изменится, даже если photoCSS
photoHeight()
изменится. Если вы хотите использовать функцию, перейдите к чему-то вроде $obj.css(photoHeight());