- - PR -
WebページのCSSを変更したいです。
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2004-07-28 15:23
自分が作っているサイトなのでなんなんですが、まさにその機能を実装していますのでよろしかったらソースをご覧ください。
http://www.lyricfathom.com/htmltemplate/ 「自分が作っている」と書きましたが、じつはこれ自分で作っているのではなく、Apache forrestが自動生成したページです。 forrestで使えるスキンのうちのひとつでどなたかがつくってくれたものです。 _________________ ----------------------------------------- Fedoraに乗り換えました。 http://www.lyricfathom.com/mt/linux/ |
|
投稿日時: 2004-07-30 15:34
JavaScript だけでOKだと思うよ。
拡大ボタンが押されたタイミングで、 タグ内で指定してるプロパティを変更すればいいわけでしょ? いわゆる、DHTML ですよね。 |
|
投稿日時: 2004-08-04 14:44
こんな方法もあります。
http://www.geocities.jp/keitaipainter/switchstyle.html document.allはIE限定ですが、document.getElementByIdもしくはdocument.getElementsByNameで代替することができます。 getElementByIdの方は、指定されたID属性を持つエレメントを1つだけ指定できます。 IDが同じエレメントが複数ある場合は、最初に見つけたものだけを拾います。 getElementsByNameの方はElement"s"になっていることからもわかる通り、指定された Name属性をもつエレメントのコレクションを拾います。 サンプルでは、そのコレクションを順番に舐めて、スタイルを切り替えているわけです。 (inoさんのサンプルのgetElementsByTagNameと同じ挙動ですね。こちらは、同じタグを もつエレメントのコレクションを指定します) ただし、ループ処理になっているので、エレメントがすごく多いページなどの場合は、 表示に時間がかかるなど、パフォーマンスが落ちることもあります。 |
|
投稿日時: 2004-08-04 14:56
inoさんのサンプルを、IE/NN両方で動くようにすることもできます。(ただし、DHTML以前の古いブラウザでは動作しません)
<link id="csslink" href="./small.css" rel="stylesheet" type="text/css"> のように、CSSファイルを指定してるlinkタグに、適当なIDを打っておきます。 で、以下のようなスクリプトでCSSファイルを変更できます function switchStyleOnBody(sw){ sFileName = ""; switch(sw){ case "1": sFileName = "small.css"; break; case "2": sFileName = "big.css"; break; }//end select if(document.getElementById("csslink")){ document.getElementById("csslink").href = sFileName; }//end if }//switchStyleOnBody() IE6,NN7.1,FireFox0.9では動作OKでした |
