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

getComputedStyle9より前のIEでは機能しません。

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

修正はここで利用できるかもしれません:http ://snipplr.com/view/13523/ 私はそれをテストしませんでした、

幸運を !

于 2012-10-15T19:45:06.697 に答える