[英]I need to set the height of a div according to the size of the window when the page is loaded and when the page is resized
我需要一個函數,該函數可以在加載頁面和調整頁面大小時根據窗口的大小設置div的高度。
相反,我有一個僅在調整窗口大小時才增加div長度的函數。
我本人並不擅長javascript,這是我在完成網頁之前需要做的最后一件事,因此,我們將不勝感激!
這是頁面,相關的div是左側的淺灰色信息框(包含文本和按鈕): http : //goodshitdesign.no/
這是我目前擁有的功能的代碼:
<script>
$(document).ready(function() {
$(window).on("resize", function() {
var bodyheight = $(document).height();
$(".infobox").height(bodyheight);
});
});
</script>
無需使用Javascript設置相對於視口的尺寸。
使用視口百分比高度
視口高度的1/100。
.infobox {
height: 100vh;
}
如果您仍然想使用JS( 我不知道為什么在使用CSS時會更好 ),
resize
事件綁定不需要ready
$(window).height()
trigger
強制在頁面加載時執行事件處理程序 碼:
$(window).on("resize", function () {
$(".infobox").height($(window).height());
// ^^^^^^^^^
}).trigger('resize');
// ^^^^^^^^^^^^^^^^^
您是否考慮過使用vh
和vw
CSS單元代替JavaScript?
.infobox { width: 100vh; height: 100vh; }
<script>
$(document).ready(function() {
$(".infobox").height($(window).height());
$(window).on("resize", function() {
$(".infobox").height($(window).height());
});
});
</script>
加載頁面時,“調整大小”不運行。 因此,在准備好頁面時,您只需創建一個事件處理程序以調整將來的大小。
您的腳本按原樣工作。 為了調整div onload的大小,只需調用不帶任何參數的.resize方法即可。
<script>
$(document).ready(function() {
$(window).on("resize", function() {
var bodyheight = $(document).height();
$(".infobox").height(bodyheight);
});
$(window).resize(); // THIS EMULATES THE RESIZE EVENT ONDOCUMENTREADY
});
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.