Buduję aplikację internetową, która ma pasek boczny, i chcę, aby pasek boczny zawsze był dopasowany w takiej rzutni
a także pasuje do rzutni, gdy aplikacja działa w trybie pełnoekranowym. Jak mogę to osiągnąć za pomocą jquery. Próbowałem odjąć wysokość nagłówka od nagłówka dokumentu
$(document).ready(function() {
var bodyheight = $("body").height();
$(".app-sidebar").height(bodyheight);
});
// for the window resize
$(window).resize(function() {
var bodyheight = $(document).height();
var header = $(".app-north").innerHeight();
$(".app-sidebar").height(bodyheight - header);
});
Odpowiedzi:
1 dla odpowiedzi № 1Dlaczego nie użyć pozycji css:naprawiono i nadano bocznemu paskowi minimalną wysokość: 100%. Używanie jQuery lub javascript do zmiany rozmiaru div w oknie zmiany rozmiaru będzie bardzo zmienne. W każdym razie, aby uzyskać wysokość rzutni, powinieneś użyć $(window).height
w przeciwieństwie do document
. Oto funkcja, która powinna działać:
var prev,
const_header_height = $(".app-north").innerHeight(),
$app_sidebar = $(".app-sidebar"); // get the element first to avoid hitting the DOM each call of resize()
function resize () {
var curr = $(window).height()
// only resize if new height is different
if (curr != prev) {
$app_sidebar.height(curr - const_header_height);
prev = curr;
}
}
$(window).on("resize", resize)
$(document).ready(resize)