我有這個非常簡單的功能,根據頁面上的元素調整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%?或者唯一的方法是確保使用媒體查詢?
謝謝
能否請您發表[的jsfiddle(HTTP://的jsfiddle .net)的代碼可以重現問題? –
DOM準備好並不意味着內容被加載...當你計算元素寬度/高度時,你也需要內容 - 所以,使用$(窗口)加載... – sinisake
謝謝! window.load解決了這個問題。 – foobar321