In questa lezione, vediamo come lavorare con le dimensioni degli elementi utilizzando i metodi della libreria di jQuery.
I metodi per lavorare con le dimensioni degli elementi
Vediamo quali sono i metodi di jQuery per lavorare con le dimensioni degli elementi.
Metodo | Descrizione |
.width() | Restituisce o imposta la larghezza dell'elemento specificato. |
.height() | Restituisce o imposta l'altezza dell'elemento specificato. |
.innerWidth() | Restituisce la larghezza totale, compresa la larghezza del padding, dell'elemento specificato. |
.innerHeight() | Restituisce l'altezza totale, compresa l'altezza del padding, dell'elemento specificato. |
.outerWidth() | Restituisce la larghezza totale, compresa la larghezza del padding e del bordo, dell'elemento specificato. |
.outerHeight() | Restituisce l'altezza totale, compresa l'altezza del padding e del bordo, dell'elemento specificato. |
Vediamo questi metodi in dettaglio.
Com'è diviso un elemento HTML
Nell'immagine qui sotto, vediamo come è diviso un elemento HTML. È necessario per capire il funzionamento dei metodi jQuery per le dimensioni degli elementi.
I metodi .width() e .height()
I metodi .width()
e .height()
possono essere usati per recuperare la larghezza e l'altezza di un elemento, escludendo il padding, il bordo e il margine; oppure possono impostare una nuova larghezza o altezza ad un elemento.
Sintassi di .width()
:
$(
selettore).width()
.$(
selettore).width(
larghezza)
. La larghezza è in pixel.<div id="el" style="background-color:red; width:100px">
Esempio
</div>
<script>
var larghezza = $("#el").width();
alert("Larghezza:" + larghezza);
// Nuova larghezza:
$("#el").width(300);
</script>
Nell'esempio qui sopra, il <div>
ha uno sfondo rosso (background-color:red
) e una larghezza iniziale di 100px.
Sintassi di .height()
:
$(
selettore).height()
.$(
selettore).height(
altezza)
. L'altezza è in pixel.<div id="el" style="background-color:red; height:100px">
Esempio
</div>
<script>
var altezza = $("#el").height();
alert("Altezza:" + altezza);
// Nuova altezza:
$("#el").height(300);
</script>
I metodi .innerWidth() e .innerHeight()
I metodi .innerWidth()
e .innerHeight()
possono essere usati per recuperare la larghezza e l'altezza di un elemento, includendo il padding, ma non il bordo e il margine; oppure possono impostare una nuova larghezza o altezza ad un elemento considerando il padding già presente.
Sintassi di .innerWidth()
:
$(
selettore).innerWidth()
.$(
selettore).innerWidth(
larghezza)
. La larghezza è in pixel.<div id="el" style="background-color:red;width:100px;padding:10px">
Esempio
</div>
<script>
var larghezza = $("#el").innerWidth(); // 120px (100 + 10 + 10)
// Nuova larghezza:
$("#el").innerWidth(300); // 280px (300 - 10*2)
</script>
Nell'esempio, la larghezza è di 120px, in quanto il <div>
ha una larghezza base di 100px, ma il padding è di 10px sia a destra che a sinistra (e quindi è 20px).
Sintassi di .innerHeight()
:
$(
selettore).innerHeight()
.$(
selettore).innerHeight(
altezza)
. L'altezza è in pixel.<div id="el" style="background-color:red;height:100px;padding:10px">
Esempio
</div>
<script>
var altezza = $("#el").innerHeight(); // 120px (100 + 10 + 10)
// Nuova altezza:
$("#el").innerHeight(300); // 280px (300 - 10*2)
</script>
I metodi .outerWidth() e .outerHeight()
I metodi .outerWidth()
e .outerHeight()
possono essere usati per recuperare la larghezza e l'altezza di un elemento, includendo il padding e il bordo, ma non il margine; oppure possono impostare una nuova larghezza o altezza ad un elemento considerando il padding e il bordo già presente.
Sintassi di .outerWidth()
:
$(
selettore).outerWidth()
.$(
selettore).outerWidth(
larghezza)
. La larghezza è in pixel.<div id="el" style="background-color:red;width:100px;padding:10px;border:5px solid black">
Esempio
</div>
<script>
var larghezza = $("#el").outerWidth(); // Circa 130px (100 + 10*2 + 5*2)
// Nuova larghezza:
$("#el").outerWidth(300); // circa 270px (300 - 10*2 - 5*2)
</script>
Sintassi di .outerHeight()
:
$(
selettore).outerHeight()
.$(
selettore).outerHeight(
altezza)
. L'altezza è in pixel.<div id="el" style="background-color:red;height:100px;padding:10px;border:5px solid black">
Esempio
</div>
<script>
var altezza = $("#el").outerHeight(); // Circa 130px (100 + 10*2 + 5*2)
// Nuova altezza:
$("#el").outerHeight(300); // circa 270px (300 - 10*2 - 5*2)
</script>
Considerare anche i margini nel calcolo
Per considerare anche i margini dell'elemento, si può utilizzare .outerWidth(true)
e .outerHeight(true)
. In questo modo, verrà compresa la larghezza/altezza, il padding, il bordo e il margine.
Larghezza e altezza della finestra del browser
Per conoscere l'altezza e la larghezza del browser dell'utente, si può utilizzare document
come selettore. Ecco come:
$(document).width(); // Larghezza della finestra
$(document).height(); // Altezza della finestra