アプリ版:「スタンプのみでお礼する」機能のリリースについて

テキストサイズ拡大・縮小のJavascriptについて

よろしくお願い致します。
下記のようなコードを使用して、サイト内のHTMLテキストを拡大・縮小させたいと思っています。

//***********************************
//テキストの拡大・縮小
//***********************************
var tgs = new Array( 'div','span' );

//Specify spectrum of different font sizes:
var szs = new Array( '12px','14px' );
var startSz = 1;

function ts( trgt,inc ) {
if (!document.getElementById) return
var d = document,cEl = null,sz = startSz,i,j,cTags;

sz += inc;
if ( sz < 0 ) sz = 0;
if ( sz > 1 ) sz = 1;
startSz = sz;

if ( !( cEl = d.getElementById( trgt ) ) ) cEl = d.getElementsByTagName( trgt )[ 0 ];
cEl.style.fontSize = szs[ sz ];

for ( i = 0 ; i < tgs.length ; i++ ) {
cTags = cEl.getElementsByTagName( tgs[ i ] );
for ( j = 0 ; j < cTags.length ; j++ ) cTags[ j ].style.fontSize = szs[ sz ];
}
}

この場合、「var tgs = new Array( 'div','span' );」で指定している、divとspanに含まれるテキストに対して拡大・縮小が適用されるのだと思いますが、特定のdiv要素(<div id="hogehoge">内のテキストなど)を拡大・縮小させないようにするには、どのようなコードを追加すればよいのでしょうか。

もしよろしければ、ご教授頂けると幸いです。
どうぞよろしくお願い致します。

A 回答 (2件)

CSSの方で


#hogehoge {font-size:XXpt !important;}
のように!importantを指定すれば、style属性より優先するのでは
    • good
    • 0

その都度指定したいのであれば、引数に適応しないidを渡すように追加しておいて、



サイズを変更する前に、条件判定すればよいのでは?
  if ( cTags[j].id != nid) cTags[ j ].style.fontSize = szs[ sz ];
みたいな感じ。(nidは適用しないid)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!