У меня есть эта очень простая функция для изменения размера div в соответствии с элементом на странице.
Из-за статической навигационной панели в верхней части страницы мне нужно управлять пустым пространством под ним, поскольку первый div с содержимым должен появиться в нужном месте (под панелью навигации), особенно потому, что когда экран меньше , панель навигации становится больше (высота больше).
Мой вопрос: почему он не всегда работает? Он отлично работает в большинстве случаев, но иногда мне нужно обновить страницу, чтобы она работала.
Вот фиктивный HTML:Почему document.ready не всегда работает?
<div id="menu-fixed-top"></div>
<div id="empty-space"></div>
<div id="content"></div>
где #empty-space
является ДИВ я хочу, чтобы контролировать высоту.
Я использовал document.ready
и window.resize
для управления им. Функция JQuery является:
$(document).ready(function() {
var height = $("#menu-fixed-top").innerHeight();
$("#empty-space").height(height);
$(window).resize(function() {
$("#empty-space").height(height);
});
});
Есть ли способ, чтобы заставить его работать 100% времени? Или единственный способ - это использовать медиа-запросы?
Thanks
Можете ли вы опубликовать [JsFiddle] (HTTP: // jsfiddle .net) вашего кода, который может воспроизвести проблему? –
DOM ready не означает, что содержимое загружено ... когда вы вычисляете элементы width/height, вам нужен контент, тоже - так, используйте загрузку $ (window) ... – sinisake
Спасибо! Решение window.load решило проблему. – foobar321