クリック操作でサイトの文字の大きさを変える方法

このQ&Aのポイント
  • クリック操作で、サイトの文字の大きさを変える方法を教えてください。
  • リンクさせると元に戻ってしまい、ページが変わるたびに操作しなければならない問題があります。
  • http://www.pref.yamanashi.jp/index.htmlのように、一度クリックすれば、サイト全体に引き継ぐ方法を教えてください。
回答を見る
  • ベストアンサー

クリック操作で、サイトの文字の大きさを変えたいのですが。

クリック操作で、サイトの文字の大きさを変えたいのですが。 似たような質問の回答を見つけ、以下を試してみました。↓ <a href="Javascript:void(document.body.style.fontSize='200%')">大</a> <a href="Javascript:void(document.body.style.fontSize='150%')">中</a> <a href="Javascript:void(document.body.style.fontSize='100%')">小</a> ああああ これはうまくいったのですが、リンクさせると元に戻ってしまい、 ページが変わるたびに、また操作しなければなりません。 このサイトのように http://www.pref.yamanashi.jp/index.html 一度クリックすれば、サイト全体に引き継ぐようにしたいのですが どのようにすればよいのでしょうか? よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • JaneDue
  • ベストアンサー率75% (263/350)
回答No.5

<script language="JavaScript"> <!-- function setTextSize(x){ if(x){ document.body.style.fontSize= x; document.cookie = 'fontSize' + "=" + x + ",;"; }else if(document.cookie.match(/;? ?fontSize=(\d+%)/)){ document.body.style.fontSize=RegExp.$1; } } window.onload=function(){setTextSize();} // --> </script> <a href="Javascript:setTextSize('200%');">大</a> <a href="Javascript:setTextSize('150%');">中</a> <a href="Javascript:setTextSize('100%');">小</a> でとりあえず動作するかと。 他のページに引き継ぐには、閲覧中のページのサイズを変更するだけでなく、閲覧者が指定した値を記録し、別のページを開いたときにその値に変更してやる必要があります。 この場合はクッキーに記録していますので閲覧者がクッキーを受け付けない設定の場合は当然動作しません。 また、使用したいすべてのページに記載するのは大変ですので、 function setTextSize(x) ~ setTextSize();} までを 別ファイルにして、使用ページのhead内に <script language="JavaScript" src="ファイル名.js"></script> とした方がよいかも知れません。 詳細は [ JavaScript 別ファイル ]等で検索してみてください。

sonans_m
質問者

お礼

JaneDueさん、丁寧にご指導ありがとうございます。 試してみますね。

その他の回答 (5)

  • think49
  • ベストアンサー率59% (285/482)
回答No.6

過去に別所で同様の質問があったので、そこにCookieを使ったコード例を書いてみました。 掲示板/JavaScript質問板/文字サイズのコントロール - TAG index Webサイト http://www.tagindex.com/cgi-lib/q4bbs/patio.cgi?mode=view&no=2565 ここに回答を書かなかったのは情報集約の観点から。 相互リンクが出来ているので、後で参考にする方がどちらから来ても辿り着けると思います。

sonans_m
質問者

お礼

think49さん、ありがとうございます。 教えていただいたサイトをじっくり見てみたいを思います。

回答No.4

がっつんというと、きをわるくなさるとおもうので、やわらかくひらがなで。 そういうものは、ぶらうざにまかせるべきで、 「 [CTRL]+ホイールマウスで、ぐりぐりするともじのおおきさがかわります!」 みたいなことをかきそえればよいとおもいます。 ていじされた「やまなしけん」のぺーじだって、もじのおおきさをかえたところで みやすいとはおもえない。いろあいの2だって、「げぇ~」とおもうはいしょく。 目にしょうがいがあるひとなんかは、はなっからwindowsのがめんのはいしょくを それようにへんこうしているとおもう。それはよけいなおせわ! めにゅーのがぞうのもじのおおきさがかわるわけでもないし、はっきりいってふべん。 かいけつさく。 とっぷぺーじのとっぷにでも、「大中小」のりんくでもおいて、そこからは おおもじようのぺーじ、ちいさいもじようのぺーじにりんくして、それように ひょうじでもしていたほうが、まだましだとおもいます。 それでもひつようだとおもうなら、おれが書く。

sonans_m
質問者

お礼

babu_babooさん、回答ありがとうございます。 たしかに、[CTRL]+ホイールマウスで済む事だと思います。 実は今回、ボタン操作で変わるように作成して欲しいと依頼されてサイトを作ることとなり、 そのようにデザインが上がってきた状態でして 私自身が [CTRL]+ホイールマウスで十分だと思っても、 依頼者が『ボタンでの操作』にこだわるかぎり、 どうにか依頼者のご希望通りにならないものかと四苦八苦していたところです。 サイトを公開する人、作成する人、それを閲覧する人、それぞれの思いと感じ方は様々で ピタリと一致することは難しいものですね。 babu_babooさんのようにガツンとは言えませんが、 依頼者を説得することも考えてみたいと思いました。 ありがとうございます。

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.3

最近HTMLのカテゴリーで回答した例があるのでご参考に、 http://okwave.jp/qa/q5889343.html

sonans_m
質問者

お礼

yyr446さん、ありがとうございます。 とても参考になりました。

  • foitec
  • ベストアンサー率43% (1079/2453)
回答No.2

<a href="javascript:void(0)" onclick="textSizeUp(); return false"><img (ここに拡大文字サイズのイメージソースを書き込む) <a href="javascript:void(0)" onclick="textSizeDefault(); return false"><img (ここに標準文字サイズイメージソースを書き込む) <a href="javascript:void(0)" onclick="textSizeDown(); return false"><img (ここに縮小文字サイズイメージソースを書き込む) では如何でしょう?

sonans_m
質問者

お礼

foitecさん、回答ありがとうございます。 質問なのですが、 img (ここに拡大文字サイズのイメージソースを書き込む) のところには、たとえば src="kakudai.gif" width="30" height="20" border="0"></a> このような感じで、よいのでしょうか? 上記のようにやってみたのですが 文字の大きさが変わらなくて・・・。 引き続き、ご指導願います。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

クッキーをつかえば出来ると思いますが、本質的にブラウザの設定を 手で換えてもらうのが正しい姿だと思います。

sonans_m
質問者

お礼

yambejpさん、早々に回答ありがとうございます。 自治体関連のサイトを作成しておりまして、 ブラウザの設定方法がわからない方が閲覧すると予測しております。 そういった方が、見てすぐに理解できて、自分で操作できるように したいと思っております。 よろしくお願いいたします。

関連するQ&A

  • 文字サイズ変更ボタンでサイズが思うように制御できません

    文字サイズ変更ボタンを配置して、下記のhtmlで大中小に変えられるようにしています。 <div><a id="fsize_l" onclick="document.body.style.fontSize='130%'" href="javascript:void(0);"><img src="../../images/b_fsize_l.jpg" alt="文字サイズ 大" width="85" height="25" /></a></div> <div><a id="fsize_m" onclick="document.body.style.fontSize='100%'" href="javascript:void(0);"><img src="../../images/b_fsize_m.jpg" alt="文字サイズ 中" width="19" height="25" /></a></div> <div><a id="fsize_s" onclick="document.body.style.fontSize='70%'" href="javascript:void(0);"><img src="../../images/b_fsize_s.jpg" alt="文字サイズ 小" width="29" height="25" /></a></div> 元々の文字サイズは%で制御しているのですが、大→中(=標準)に戻した時、元々のサイズとは異なるサイズになってしまいます。 どうしてでしょうか? 標準サイズを100%とし、中サイズも100%と記述しています。

    • ベストアンサー
    • HTML
  • 文字サイズを変更できない

    web制作していて、文字サイズ変更の機能をつけました。 * * * * * * * * * * * * * * * * <div id="fsize"> <div><a id="fsize_l" onclick="document.body.style.fontSize='large'" href="javascript:void(0);"><img src="../../images/b_fsize_l.jpg" alt="文字サイズ 大" width="85" height="25" /></a></div> <div><a id="fsize_m" onclick="document.body.style.fontSize='small'" href="javascript:void(0);"><img src="../../images/b_fsize_m.jpg" alt="文字サイズ 中" width="19" height="25" /></a></div> <div><a id="fsize_s" onclick="document.body.style.fontSize='x-small'" href="javascript:void(0);"><img src="../../images/b_fsize_s.jpg" alt="文字サイズ 小" width="29" height="25" /></a></div> </div> * * * * * * * * * * * * * * * * IEとfirefoxで確認したところ、問題なくサイズ変更されていたんですが、制作を進めていったら、いきなり変更しない箇所がでてきてしまいました。 全体のフォント指定はemでやっています。 何が原因なのでしょうか? 言葉足らずな部分があるかもしれませんが、どうぞよろしくお願いします。

    • ベストアンサー
    • HTML
  • 文字の大きさ変更

    ページ全体の文字の大きさを変更できるボタンを設置したいと思い 検索で調べて柿のようなスクリプトを作ったのですが、 IE6だと反映されません。どうしてでしょうか? (長くてすみません) <SCRIPT language="JavaScript"> <!-- var Default=3; var tags = new Array('div','td','tr'); var sizing = new Array('70%','80%','90%','100%','110%','120%','130%'); function FontChange(target,tarF){ if (!document.getElementById) return var dore = document,tarS = null,fontSize =Default,value,su,cTags; fontSize += tarF; if (fontSize < 0) fontSize = 0; if (fontSize > 6) fontSize = 6; Default = fontSize; if (!(tarS = dore.getElementById(target))) tarS = dore.getElementsByTagName(target)[0]; tarS.style.fontSize = sizing[fontSize]; for (value = 0 ; su < tags.length ; value++){ cTags= tarS.getElementsByTagName(tags[value]); for (su = 0 ; su < cTags.length ; su++) cTags[su].style.fontSize = sizing[fontSize]; } } //--> <a href="javascript:FontChange('body',1)"><img src="images/big.jpg" alt="" border="0" /></a> <a href="javascript:FontChange('body',-1)"><img src="images/small.jpg" alt="" border="0" /></a> それから出来ればボタン大中小で押せばサイズがそのサイズ で決まっているのだいいのですが、参考になるサイトは ないでしょうか?

  • 文字の大きさを変更するjavascriptについて

    文字の大きさを変更するjavascriptについての質問です。 現在以下のようなスクリプトを使用しているのですが、 IE6では動作しますがFirefox2.0では動きません。 原因、アドバイス等あればご指摘お願いします。 *****このスクリプトを外部ファイルとして読み込んでいます***** function larger(){ content_area.style.fontSize="14pt"; } function standard(){ content_area.style.fontSize="12pt"; } function smaller(){ content_area.style.fontSize="9pt"; } *********************************************************** *****head内の外部js読み込み部分***** <script type="text/JavaScript" src="common/js/fontsize.js"></script> ************************************ *****body内のjavascript呼び出し部分***** <ul> <li class="text_large"><a href="javascript:larger()">文字サイズ大</a></li> <li class="text_mid"><a href="javascript:standard()">文字サイズ中</a></li> <li class="text_small"><a href="javascript:smaller()">文字サイズ小</a></li> </ul> **************************************** よろしくお願いします。

  • リンク押下でタグを書き換えたい

    リンクが複数あって、押したリンク文字だけ<span></span>のみにしたいと 思っています。また対応するdivタグのdisplay属性も書き換えたいです。 とりあえず思いついたのは以下の方法なのですが、冗長ですし、 リンクの数が増えた場合に足していくのが大変です。 もっとシンプルに書く方法がないものでしょうか。 ご助言ください。 <html> <body> <script> function change(spanid,divid,menuName){ document.getElementById('menu1').innerHTML = "<a href=\"javascript:void(0)\" onclick=\"change('menu1','div1','メニュー1')\">メニュー1</a>"; document.getElementById('div1').style.display="none"; document.getElementById('menu2').innerHTML = "<a href=\"javascript:void(0)\" onclick=\"change('menu2','div2','メニュー2')\">メニュー2</a>"; document.getElementById('div2').style.display="none"; document.getElementById('menu3').innerHTML = "<a href=\"javascript:void(0)\" onclick=\"change('menu3','div3','メニュー3')\">メニュー3</a>"; document.getElementById('div3').style.display="none"; document.getElementById(spanid).innerHTML = menuName; document.getElementById(divid).style.display="block"; } </script> <ul> <li><span id="menu1">メニュー1</span></li> <li><span id="menu2"><a href="javascript:void(0)" onclick="change('menu2','div2','メニュー2')">メニュー2</a></li> <li><span id="menu3"><a href="javascript:void(0)" onclick="change('menu3','div3','メニュー3')">メニュー3</a></li> </ul> <div id="div1"> test1 </div> <div id="div2" style="display:none"> test2 </div> <div id="div3" style="display:none"> test3 </div> </body> </html>

  • 文字サイズ変更ボタンについて

    大) onclick=\"document.body.style.fontSize=\'130%\' 中) onclick=\"document.body.style.fontSize=\'100%\' 小) onclick=\"document.body.style.fontSize=\'70%\' 上記のhtmlで文字サイズ変更ボタンを置いています。 動作は問題ないのですが、中を押した時に当初の大きさに戻したいのに、違うサイズになってしまいます。 解消するにはどうしたらよいのでしょうか?

  • リンク元のファイル名を表示したい。document.referrerだとダメ。(ソース付き)

    よろしくお願いします。 index.html→saki.htmlのようにリンクしてある、ファイルが2つあります。 saki.htmlの中で、リンク元のindex.htmlの名称を、document.referrerで表示しようとしています。 しかし、うまく動作しません。 何が違うのでしょうか? ●index.html <html> <body> <a href="saki.html">AA</a> </body> </html> ●saki.html <html> <body> <script type="text/javascript"> <!-- document.write('<p>リンク元URL:' + document.referrer + '</p>'); // --> </script> </body> </html>

  • 文字をオンマウスすると、画像がかわり、クリックで他のページへいくようにしたい。

    初めてJavaを使いました。 『文字にマウスを当てると、上に置いた画像がかわり、さらにその文字をクリックすると、他のページにいくようにしたいのです』 文字にマウスを当てると、上に置いた画像が変わるとこまではできましたが、どうしても他のページへのリンクができません。 よい方法を教えてください。 作ったHTMLは以下のとおりです。 <SCRIPT language="JavaScript"><!-- function myChgPic(myPicURL){ document.images["myBigImage"].src = myPicURL; } // --></SCRIPT> <TABLE align="center"> <TBODY> <TABLE border="0" align="center"> <TBODY> <TR> <TD><IMG src="ankor.jpg" name="myBigImage" border="2"></TD> </TR> <TR> <TD><A href="javascript:void(0)" onmouseover="myChgPic('shanghai.jpg')">上海 <br> <A href="javascript:void(0)" onmouseover="myChgPic('italy.jpg')">イタリア <br> <A href="javascript:void(0)" onmouseover="myChgPic('canada.jpg')">カナダ    </A>    </TD> </TR> </TBODY> </TABLE> 上海、カナダ、イタリアという文字をクリックしたら、その写真にかわり、文字をクリックしたらそれぞれのページにリンクさせたいのです。

  • リンククリックで文字列を他のフレームへ

    リンクをクリックすると他のフレームにテキストを渡したい。現状はボタンクリックで渡しています。渡す文字は<SCRIPT language=JavaScript>の部分に書かず、リンクの場所においておきたい。 (例) <A HREF="">東京</A> <A HREF="">大阪</A> <A HREF="">名古屋</A> この文字の部分に 東京の名物、大阪の名物、名古屋の名物などのテキストを含ませておき、そことクリックすると別のフレームのテキストボックスに入るようにしたい。 #どうか、アドバイスを。 <form action="javascript:void(1)" onsubmit="return false;"> <p><input type=text name=Title value="やっほ"> <input type=button onclick="parent.Frame3.document.fm1.Title.value=this.form.Title.value;" value="←コピー">

  • クリックごとに文字色が交互に変化する(赤青赤青赤青・・・・・)

    クリックごとに文字色が変化するプログラムを作りたいのですがchangeColor()の部分の処理がうまく動作しません。おそらくif文の条件の表記が間違っていると思うのですが、どのように書き換えればいいのでしょうか? <html> <head> <script language="JavaScript"> <!-- function changeColor() { if(event.srcElement.style.color="#ff0000")changeBlue(); else changeRed(); } function changeRed() { event.srcElement.style.color="#ff0000"; } function changeBlue() { event.srcElement.style.color="#0000ff"; } //--> </script> </head> <body > <table border="10" width="100" height="100" align="center" valign="top" bgColor="#ffffff"> <tr> <td><a href="javascript:void(0)"onClick="changeColor()"><font size="7">A</font></a></td> <td><a href="javascript:void(0)"onClick="changeColor()"><font size="7">B</font></a></td> </tr> </table> </body> </html>

専門家に質問してみよう