jQuery: permettere agli utenti di ridimensionare i font

jQuery: permettere agli utenti di ridimensionare i font

Sono dell'idea che i siti web che usano una dimensione dei font ridotta dovrebbero fornire agli utenti una funzionalità per permettere loro di gestire la dimensione dei font. jQuery è lo strumento più adatto per questo scopo.

Possiamo definire un plugin che accetta come opzioni i riferimenti ai bottoni per aumentare o diminuire la dimensione dei font:


(function($) {
    $.fn.fontResize = function(options) {
        var settings = {
            increaseBtn: $('#increase-font'),
            decreaseBtn: $('#decrease-font')
        };
        options = $.extend(settings, options);

        return this.each(function() {
            var element = $(this);


            options.increaseBtn.on('click', function(e) {
                e.preventDefault();
                var baseFontSize = parseInt(element.css('font-size'));
                element.css('font-size', (baseFontSize + 1) + 'px');

            });

            options.decreaseBtn.on('click', function(e) {
                e.preventDefault();
                var baseFontSize = parseInt(element.css('font-size'));
                element.css('font-size', (baseFontSize - 1) + 'px');

            });

        });

    };


})(jQuery);

La proprietà font-size viene calcolata in pixel. Per questo motivo dobbiamo estrarre il valore numerico da tale proprietà tramite la funzione parseInt(). A questo punto sommiamo o sottraiamo 1 al valore corrente. Esempio:


$(function() {
    $('#content').fontResize();

});​

Nota

Quando il valore della proprietà font-size è espresso in em o percentuali, tutti i browser restituiscono il valore in pixel. Opera non fa eccezione in questo caso. L'eccezione riguarda il valore restituito per i colori.

Torna su