Funzione per ridimensionare div in base alla risoluzione schermo..

otto9due

Utente Attivo
22 Feb 2014
591
25
28
Stavo pensando di ridimensionare il mio container ( a cui voglio mettere un overflow : scroll ) in base a questo calcolo..
Altezza divcontainer = Altezza Risoluzione - ( Altezza divmenu + Altezza divfooter )

Avevo pensato ad una cosa del genere.. Ma non funziona.. Sbaglio qualcosa??

HTML:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento senza titolo</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
	var top = ($(window).height() - ($( "#menu" ).height() + $( "#footer" ).height()));
	$( "#container" ).css( "height" : top );
});
</script>
<style>
#menu {
	background-color: red;
	width: 100%;
	height: 47px;
}
#container {
	background-color: green;
	width: 100%;
}
#footer {
	background-color: yellow;
	width: 100%;
	height: 60px;
}
</style>
</head>
<body>
<div id="menu"></div>
<div id="container"></div>
<div id="footer"></div>
</body>
</html>
 
Ho provato anche così ma nulla..
HTML:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento senza titolo</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
	var top = ($(window).height() - ($( "#menu" ).height() - $( "#footer" ).height()));
	$( "#container" ).height(top);
});
</script>
<style>
#menu {
	background-color: red;
	width: 100%;
	height: 47px;
}
#container {
	background-color: green;
	width: 100%;
}
#footer {
	background-color: yellow;
	width: 100%;
	height: 60px;
}
</style>
</head>
<body>
<div id="menu"></div>
<div id="container"></div>
<div id="footer"></div>
</body>
</html>
 
Ciao, prova a dichiarare un DOCTYPE

Poi, nel primo esempio, in questa riga di codice, sostituisci i due punti con la virgola:

Codice:
$("#container").css("height", top);

Aggiungerei anche un reset.

Edit:

Nel secondo codice, qui c'è un refuso?

Codice:
($( "#menu" ).height() - $( "#footer" ).height())

O togli le parentesi o metti ancora il +
 
Ultima modifica:
Dai test

Ciao, prova a dichiarare un DOCTYPE

Poi, nel primo esempio, in questa riga di codice, sostituisci i due punti con la virgola:

Codice:
$("#container").css("height", top);

Aggiungerei anche un reset.

Edit:

Nel secondo codice, qui c'è un refuso?

Codice:
($( "#menu" ).height() - $( "#footer" ).height())

O togli le parentesi o metti ancora il +

Il Doctipe è dichiarato, non l'ho inserito qui ma c'è..
La virgola ansichê i : lo avevo già fatto, ma anche quello non ha prodotto risultati..
Per quanto riguarda quello che chiedevi nel terzo punto, in effetti il mio tentativo era quello di fare container = A-(B+C)
Cioè per determinare dinamicamente l'altezza di container vado a sottrarre ad A ammettiamo sia l'altezza totale della risoluzione alla somma (B+C) rispettivamente di le altezza del footer e del menù.
 
Ultima modifica:

Discussioni simili