0

デフォルトのcssとそのcssのデフォルトのフォントサイズを持つWindowsストアアプリを構築しています。ユーザーが設定画面からフォントサイズをカスタマイズできるようにしており、その設定はローカル設定に保存されます。アプリを更新して新しいフォント サイズを反映するにはどうすればよいですか? 現在のパターンはありますか?これは Html5/js アプリです。change イベントから css 値を再ロードすることはできますか?

4

2 に答える 2

1

アプリが起動したら、ローカル設定からフォント サイズを読み取り、JavaScript でドキュメントのフォント サイズを設定します。

document.body.style.fontSize = fontSizeFromSettings;

アプリの実行中にユーザーがフォント サイズを変更した場合も、上記の行を呼び出します。フォントサイズをローカル設定に保存するコードの直後にこれを行うことができます。

当然、 を使用して個々の要素のフォント サイズを変更することもできますdocument.getElementById("myId").style.fontSize

于 2013-01-09T17:55:05.903 に答える
0

私はこれを、クラスセレクターが既に定義されている OP として読みました。

.myclass
{
    font-size: 36px;
}

セレクターを使用してすべての要素を.myclass新しい値、たとえば 72px に変更したい。それが意図されている場合は、CSS を動的に変更できます。

これは、既知の CSS ファイルで特定のスタイル セレクターを検索し、その場で変更する単純な (そして壊れやすく、運用には適していない) 関数です。詳細については、Changing External StylesheetsHow to change CSS Stylesheets with JavaScriptをご覧ください。

function updateFontSize(newFontSize) {
    for (var i = 0; i < document.styleSheets.length; i++) {
       if (document.styleSheets[i].href.indexOf("default.css") >= 0) {
            var mySheet = document.styleSheets[i];
            for (var r in mySheet.cssRules) {
                if (mySheet.cssRules[r].selectorText == ".myclass") {
                    var myRule = mySheet.cssRules[r];
                    myRule.style.fontSize = newFontSize;
                    return;
                }
            }
        }
    }
};

次に、次のように呼び出します(もちろん、値をハードコーディングせずに):

updateFontSize("128px");
于 2013-01-09T18:43:14.887 に答える