通过jQuery调整字体大小不适用于Chrome和Safari浏览器

时间:2014-09-13 09:07:24

标签: javascript jquery google-chrome safari browser

我试图在网站上实现字体大小调整功能。我编写了一些jQuery代码,这些代码在Mozila上运行得很完美,但是在Chrome,Safari等其他浏览器上运行。在Chrome和Safari上,它仅在首次点击时调整字体大小。这是我的代码。

JQuery代码

jQuery(document).ready(function(){

jQuery('[id="fontlarge"]').click(function(){
        jQuery('*').each(function(){
            var fontSize = jQuery(this).css('font-size');
            fontSize =  fontSize.substr(0,2);
            //alert(fontSize);
            if(fontSize<=13)
            {
                var currentSize = jQuery(this).css('font-size');
                var currentSize = parseFloat(currentSize)+.2;
                jQuery(this).css('font-size', currentSize);
            }
        });
    }); 

jQuery('[id="fontsmall"]').click(function(){
        jQuery('*').each(function(){
            var fontSize = jQuery(this).css('font-size');
            fontSize =  fontSize.substr(0,2);
            //alert(fontSize);
            if(fontSize>=12)
            {
                var currentSize = jQuery(this).css('font-size');
                var currentSize = parseFloat(currentSize)-.2;
                jQuery(this).css('font-size', currentSize);
            }
        });
    }); 
});


HTML代码

<span id="fontsmall" style="cursor:pointer;">-</span>&nbsp;&nbsp;<span id="fontlarge" style="cursor:pointer;">+</span>

我不确定如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

你可以使用整数来调整字体大小,如果可以,你应该解决它。

我在你的代码中注意到了以下内容: -

fontSize.substr(0,2)

即使您的字体大小为10.2,10.4等,它也会始终返回两位数字。

所以这就是因为浏览器只是第一次扩展你的字体大小。我不知道为什么要在firefox上工作,但它不应该在任何地方工作。

请使用fontSize.slice(0,-2)