Oggi vediamo come realizzare una funzione jQuery che agisce al resize della pagina web, ideale per far accadere determinati eventi a particolari screen-size della pagina.
Ecco un esempio di codice della funzione resize di jQuery.
$(window).resize(function() {
// Funzione cicla il contenuto ogni volta che la pagina viene ridimensionata
if($(window).width() > 1024) {
$(".trigger").click(
function(){
alert("Width Alta >1024");
});//1024
} else if($(window).width() >= 769 && $(window).width() <= 1024) {
$(".trigger").click(
function(){
alert("Width Media 769-1024");
});//769-1024px
} else if($(window).width() <= 768) {
$(".trigger").click(
function(){
alert("Width Minore <768");
});//minore 768px
}//else
}).resize(); //reinizializza al cambio di width del browser/device
Come vedete la funzione agisce e viene divisa per comodità in 3 breakpoint (come avviene con i media queries per intenderci):
- width alta (dimensione schermo maggiore di 1024px)
- width media (dimensione device compreso tra 768 e 1024)
- width bassa (dimensione schermo minore di 768px)
Ovviamente nulla vieta di aggiungere o modificare breakpoints a seconda delle vostre esigenze specifiche. Dentro a ogni “fascia” possiamo facilmente impostare un’action da eseguire, in questo esempio ho fatto in modo che al click sulla classe .trigger si aprisse un alert di volta in volta diverso a seconda dello screen size del dispositivo di visualizzazione. Ovviamente possiamo anche eseguire determinati script al load dalla pagina mettendo semplicemente il codice dentro le tre aree.
NOTA BENE: non usate assolutamente la funzione IN SOSTITUZIONE ai media queries, ma usate questa soluzione per rendere dinamico il sito in particolari situzioni (l’esempio di questo articolo è lampante e apre la strada a numerose idee di utilizzo).
L’articolo ti è stato utile? condividi l’articolo sui tuoi social network preferiti!







Ciao, in questo script come posso aggiungere un cambio di un logo al cambio della risoluzione? Esempio: logo1.jpg a piena risoluzione, logo2.jpg appena la risoluzione cambia? Grazie