Я работаю над функцией jQuery, чтобы установить высоту div в зависимости от высоты окна и некоторых других элементов, и я заметил что-то странное. Функция outerHeight(), кажется, принимает целочисленный параметр, даже если в документации не указано, что разрешено.
Таким образом, это работает как в Chrome, так и в Firefox:
var o_height = $("#content").outerHeight();
var n_height = $(window).outerHeight() - $("#nav").outerHeight();
if (n_height > o_height) {
$("#content").outerHeight(n_height);
}
Альтернативой является вычисление заполнения, а затем вычесть его, что на несколько строк больше:
var o_height = $("#content").outerHeight();
var n_height = $(window).outerHeight() - $("#nav").outerHeight();
if (n_height > o_height) {
var padding = $("#content").outerHeight() - $("#content").height();
$("#content").height(n_height - padding);
}
Мне интересно, можно ли использовать более короткую версию. Я буду делать такие вещи несколько раз, поэтому я предпочел бы сократить продолжительность сценария, но не ценой стабильности. Является ли это стабильной, но недокументированной функцией, или мне просто нужно принять дополнительный вес в функции?
В случае, если кто-то еще наткнется на это, похоже, что эта функциональность была фактически добавлена полностью в 1.8.0 для внешних и внешних символов, но, несмотря на частые отчеты, документация по-прежнему не обновляется.