1

私はkeyboard.cssファイルとkeyboard.jsファイルを持っています.cssルールを変更しようとしています.

.ui-keyboard div { font-size: 1.1em; }

フォントサイズを変更したい。を使用せずにこれを行う方法はあり
$(".ui-keyboard div").css()ますか?

要素がレンダリングされる前に値を変更したい、要素の構築で値を渡したい

$('.onScreenKeyboard').keyboard({
    zoomLevel: 2
});

編集: これを少し明確にするために、CSS で値を編集しなくてもフォントサイズを変更できるようにすることが目標です。これを行うライブラリにオプションを作成したい:

コンストラクター内でオプションを確認し、要素を変更します。

//set Zoom Level
if(o.zoomLevel){
    //Change CSS Here.
}
4

2 に答える 2

2

CSSStyleSheetのようなものを探しているかもしれません。insertRuledeleteRule

CSSルールを変更できるようにするために、少し前に書いたコードを次に示します

function CSS(sheet) {
    if (sheet.constructor.name === 'CSSStyleSheet') this.sheet = sheet;
    else if (sheet.constructor.name === 'HTMLStyleElement') this.sheet = sheet.sheet;
    else throw new TypeError(sheet + ' is not a StyleSheet');
}
CSS.prototype = {
    constructor : CSS,
    add: function (cssText) {
        return this.sheet.insertRule(cssText, this.sheet.cssRules.length);
    },
    del: function (index) {
        return this.sheet.deleteRule(index);
    },
    edit: function (index, cssText) {
        var i;
        if (index < 0) index = 0;
        if (index >= this.sheet.cssRules.length) return this.add( cssText );
        i = this.sheet.insertRule(cssText, index);
        if (i === index) this.sheet.deleteRule(i + 1);
        return i;
    }
};

コンストラクターCSS<style>ノードを指定するか、スタイルシートを直接指定して使用.editし、ルールのインデックスと必要な新しいルールを使用します。例えば

// get StyleSheet
var mycss = new CSS(document.querySelector('style[src="keyboard.css"]'));
// edit rule 0
mycss.edit(0, '.ui-keyboard div { font-size: 5em; }');
于 2013-05-03T15:42:57.267 に答える
0

次の css を要素に追加します。最初は、ライブラリを実行してスタイル プロパティを変更し、表示するまで表示しません。

.ui-keyboard div {
     font-size: 1.1em;
     display: none;
}

次のようにして、jQuery を使用せずにフォント サイズを変更することもできます。

[element].style.fontSize = "25px";
于 2013-05-03T15:41:09.003 に答える