0

我正在尝试在我公司的网站上放置一个字体调整器,因为我们的很多客户都是老年人,他们不知道 Ctrl +“+”。

这是我们拥有的代码。大小调整器在 FF、Chrome 和 IE9 下工作正常。但不是在 IE8 和 IE7 中。我在这里省略了创建 cookie/读取 cookie 部分。

function createCookie(name,value,days) {.....codes for create cookies......}

function changeFont(incfont) {
    try{
        var p = document.getElementsByClassName('resizable');
        for(n=0; n<p.length; n++) {
            if(p[n].style.fontSize) {
                var size = parseInt(p[n].style.fontSize.replace("px", ""));
            } else {
                var size = parseInt(window.getComputedStyle(p[n],null).getPropertyValue('font-size').replace("px", ""));
            }
            p[n].style.fontSize = size+ incfont + 'px';
        }

        p = document.getElementsByTagName('p');
        for(n=0; n<p.length; n++) {
            if(p[n].style.fontSize) {
                var size = parseInt(p[n].style.fontSize.replace("px", ""));
            } else {
                var size = parseInt(window.getComputedStyle(p[n],null).getPropertyValue('font-size').replace("px", ""));
            }
            p[n].style.fontSize = size+ incfont + 'px';
        }
    } catch(err) {}
}

function readCookie(name) { ....code for read cookies ....}

function increaseFontSize() {
    var inc=0;
    try {
        var x = readCookie('textsize')
        if (x && x!=0) {
            x = parseInt(x);
            inc = x;
        }
    } catch (e) {}

    if (inc<3) {
        inc++;
        changeFont(1);
        createCookie('textsize',inc,1);
    }
}

function decreaseFontSize() {
    var inc=0;
    try {
        var x = readCookie('textsize')
        if (x && x!=0) {
            x = parseInt(x);
            inc = x;
        }
    } catch (e) {}

    if (inc>0) {
        inc--;
        changeFont(-1);
        createCookie('textsize',inc,1);
    }
}

提前致谢!YN

4

2 回答 2

1

您的解决方案对我来说似乎过于复杂,我会建议您采用不同的方法,为页面正文设置基本文本大小,然后为其余元素设置字体大小百分比,这样当您想要调整所有文本的大小时您只需要做的网站:

$("body").css("font-size", newFontSize);
于 2012-10-15T19:46:37.257 回答
0

getComputedStyle不适用于 9 之前的 IE。

请参阅: https ://developer.mozilla.org/en-US/docs/DOM/window.getComputedStyle

此处可能提供修复:http: //snipplr.com/view/13523/ 我没有测试它,

祝你好运 !

于 2012-10-15T19:45:06.697 回答