0

我无法让文本调整器在 IE 8-9 中工作,我找到的最好的插件叫做 jFontSize。

除了这两个版本的 IE 之外,我可以在所有浏览器中使用它。

我已经包含了这个 jFiddle... http://jsfiddle.net/GZyxJ/

我非常感谢您的回复,我知道这可能很愚蠢,因为我仍在学习。该网站也是用 HTML 5 构建的,我已经包含了 jquery 1.9.1

谢谢!

<div class="size"> 
                <span>Change Font Size:-</span>
                <a class="jfontsize-button" id="jfontsize-minus" title="decrease font" href="#">A-</a>
                <a class="jfontsize-button" id="jfontsize-default" title="reset default font" href="#">A</a>
                <a class="jfontsize-button" id="jfontsize-plus" title="increase font" href="#">A+</a>

            </div>

(function($){
    $.fn.jfontsize = function(opcoes) {
        var $this=$(this);
        var defaults = {
            btnMinusClasseId: '#jfontsize-minus',
            btnDefaultClasseId: '#jfontsize-default',
            btnPlusClasseId: '#jfontsize-plus',
            btnMinusMaxHits: 5,
            btnPlusMaxHits: 5,
            sizeChange: 1
        };

        if(($.isArray(opcoes))||(!opcoes)){
            opcoes = $.extend(defaults, opcoes);
        } else {
            defaults.sizeChange = opcoes;
            opcoes = defaults;
        }

        var limite=new Array();
        var fontsize_padrao=new Array();

        $(this).each(function(i){
            limite[i]=0;
            fontsize_padrao[i];
        })

        $('#jfontsize-minus, #jfontsize-default, #jfontsize-plus').removeAttr('href');
        $('#jfontsize-minus, #jfontsize-default, #jfontsize-plus').css('cursor', 'pointer');

        /* Ação do Botão A- */
        $('#jfontsize-minus').click(function(){
            $this.each(function(i){
                if (limite[i]>(-(opcoes.btnMinusMaxHits))){
                    fontsize_padrao[i]=$(this).css('font-size');
                    fontsize_padrao[i]=fontsize_padrao[i].replace('px', '');
                    fontsize=$(this).css('font-size');
                    fontsize=parseInt(fontsize.replace('px', ''));
                    fontsize=fontsize-(opcoes.sizeChange);
                    fontsize_padrao[i]=fontsize_padrao[i]-(limite[i]*opcoes.sizeChange);
                    limite[i]--;
                    $(this).css('font-size', fontsize+'px');
                }
            })
        })

        /* Ação do Botão A */
        $('#jfontsize-default').click(function(){
            $this.each(function(i){
                limite[i]=0;
                $(this).css('font-size', fontsize_padrao[i]+'px');
            })
        })

        /* Ação do Botão A+ */
        $('#jfontsize-plus').click(function(){
            $this.each(function(i){
                if (limite[i]<opcoes.btnPlusMaxHits){
                    fontsize_padrao[i]=$(this).css('font-size');
                    fontsize_padrao[i]=fontsize_padrao[i].replace('px', '');
                    fontsize=$(this).css('font-size');
                    fontsize=parseInt(fontsize.replace('px', ''));
                    fontsize=fontsize+opcoes.sizeChange;
                    fontsize_padrao[i]=fontsize_padrao[i]-(limite[i]*opcoes.sizeChange);
                    limite[i]++;
                    $(this).css('font-size', fontsize+'px');
                }
            })
        })
    };
})(jQuery);
4

1 回答 1

1

您还没有在 Fiddle 中包含 jQuery。从左侧的下拉列表中选择它。

此外,您调用$('p').jfontsize();函数的方式意味着它是在添加插件之前被调用的。

更新,工作小提琴

于 2013-03-04T22:29:59.723 回答