evenIfHidden, un plugin per jQuery
Posted by Davide | Filed under Javascript
Ho pubblicato oggi un plugin per jQuery. Si chiama evenIfHidden. E’ un plugin semplice che risolve un problema altrettanto semplice, ma del quale non ho trovato soluzioni pronte: quello di ricavare informazioni sul layout di un elemento del DOM (come width o height) quando l’elemento è nascosto.
Trovate la pagina ufficiale del plugin sul sito di jQuery, mentre trovate la pagina di test qui sul blog (guardatela perché è caruccia assai!).
Rotazione di immagini via jQuery
Posted by Davide | Filed under Javascript
Proprio poco tempo fa, mi chiedevo quando sarebbe stato possibile gestire la rotazione di immagini in una pagina web, tramite l’utilizzo di Javascript e dei canvas HTML
Beh, ecco la risposta, un ulteriore tassello che credo permettera’ a breve la creazione di animazioni senza l’utilizzo di Flash.
Via: Ajaxian
Come evitare che Javascript vi rallenti il browser
Posted by Davide | Filed under Javascript
Uno dei problemi standard di chi si occupa di Javascript e’ quello relativo alla semplicita’ con cui un blocco di codice particolarmente dispendioso (in termini di tempo d’esecuzione e risorse) vi faccia freezare il browser per un tot di secondi.
Il problema e’ relativo al fatto che Javascript e’ un linguaggio single-threaded; in parole povere, mentre per esempio si eseguono cicli di istruzioni lunghe che si interfacciano con la struttura DOM di una pagina, il browser non trova una finestra di tempo dove poter fare un refresh del proprio contenuto, congelandosi.
Mi e’ capitato giustappunto oggi, dovendo lavorare sul DOM di una tabella piuttosto lunga, andando alla ricerca del posto esatto dove inserire nuove righe pervenutemi tramite Ajax.
Dato che il fulcro del progetto e’ proprio la prestazione dell’applicativo, sono subito andato alla ricerca di una possibile soluzione. Beh, ho scoperto un po’ di cose.
In questo articolo di debuggable.com viene proposta un’ottima soluzione (gia’ sperimentata e funzionante!) basata sull’inserire le nostre istruzioni ciuccia-risorse all’interno di una coda; ogni istruzione sara’ eseguita ed intervallata da un tot di millisecondi di pausa,
Qualcosa di simile e’ stato implementato anche in jQuery; ancora non mi sono documentato abbastanza, ma sembra una libreria, gestita direttamente dal core del framework, che si occupa di rendere il piu’ possibile smooth le animazioni.