Javascript 文字の大きさを変更する
事前にCSSでフォントをemで指定する必要があります。
bodyに元となる font-size:16px; を入れて、
各タグの font-size:1.5em;
16px × 1×1.4倍で指定する必要があります。
全体的に大きくしたい場合は、bodyの値を変更すれば一律で変更されます。
■その1
//フォントサイズを変更する function chFsize(ID,VALUE){ document.getElementById(ID).style.fontSize=VALUE; } <div id="header"> <p><button onclick="chFsize('contents','1.4em');">文字を大きく</button><button onclick="chFsize('contents','0.8em');">文字を小さく</button><button title="文字サイズを元に戻します。" onclick="chFsize('contents','1em');">標準</button>タイトル</p> </div>
■その2 ボタン1つで文字の大きさを切り替える。
function tglBtn(ID,VALUE){ var obj1=d.getElementById("contents"); var obj2=d.getElementById("btn_text"); var bText="大きく"; var sText="元に戻す"; if(obj1.style.fontSize!="1.4em"){ obj1.style.fontSize="1.4em"; obj2.innerHTML=sText; }else{ obj1.style.fontSize="1em"; obj2.innerHTML=bText; } } <p><button onclick="tglBtn();">文字を<span id="btn_text">大きく</span></button>タイトル</p>
※if文のところは、必ず!=で書かないと、最初にクリックした時に、タグ自体が最初から持っている
属性が優先されるので、fontsizeは1になっている。これを回避したい場合は、タグに直接styleの指定をすればよいが、
XHTMLはタグに直接書けないのでJS側で「!=」と記述し、回避します。
if(obj1.style.fontSize!="1.4em"){}