• 締切済み

文字サイズ変更のjavascriptが動かない

現在、サイトを文字サイズ変更できるようにトライしているのですが、javascriptは全くの初心者なのでよくわかりません。 ページによって動かないので、何がいけないのかアドバイスお願いします! 動くのは http://○○.jp/○○.html 動かないのは http://○○.jp/○○/○○.html のページです。 以下の記述は動かない方に設定しているものです。 ************* javascript ************* function imgver(num){ var element =document.getElementById("fontSize"); var writeHtml = ''; if( num == 0){ writeHtml +='<!-- --><li><a href="javascript:void(0)" onclick="font(\'16px\');imgver(0)"><img src="../common/l.png" width="25" height="26" border="0" /></a></li><!--'; writeHtml +=' --><li><a href="javascript:void(0)" onclick="font(\'12px\');imgver(1)"><img src="../common/m.png" width="25" height="26" border="0" /></a></li><!--'; writeHtml +=' --><li><a href="javascript:void(0)" onclick="font(\'9px\');imgver(2)"><img src="../common/s.png" width="25" height="26" border="0" /></a></li><!-- -->'; } else{ writeHtml +='<!-- --><li><a href="javascript:void(0)" onclick="font(\'16px\');imgver(0)"><img src="../common/l.png" width="25" height="26" border="0" /></a></li><!--'; writeHtml +=' --><li><a href="javascript:void(0)" onclick="font(\'12px\');imgver(1)"><img src="../common/m.png" width="25" height="26" border="0" /></a></li><!--'; writeHtml +=' --><li><a href="javascript:void(0)" onclick="font(\'9px\');imgver(2)"><img src="../common/s.png" width="25" height="26" border="0" /></a></li><!-- -->'; } element.innerHTML = writeHtml; } ************* html ************* <ul id="fontSize"><!-- --><li><a href="javascript:void(0)" onclick="font('16px');imgver(0)"><img src="../common/l.png" alt="大" width="25" height="26" border="0" /></a></li><!-- --><li><a href="javascript:void(0)" onclick="font('12px');imgver(1)"><img src="../common/m.png" alt="中" width="25" height="26" border="0" /></a></li><!-- --><li><a href="javascript:void(0)" onclick="font('9px');imgver(2)"><img src="../common/s.png" alt="小" width="25" height="26" border="0" /></a></li><!-- --></ul> ******************************************** 画像は表示されるのですが、全く動きません。 よろしくお願いします!

みんなの回答

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

>ページによって動かないので、~ ご質問の文に書いてあるのは、メニュー部分(?)の変更で文字サイズの変更には関係ないみたいですね。 実際に文字サイズを変更しているのは、#1の補足部分のスクリプトだけど、ライブラリを使っていると思うので、その読込みを最初に実行していますか? (ライブラリの読込み前に、スクリプトを実行すればエラーになります) ついでながら、ご質問文のほうのスクリプトは、、ざっと見ただけだけど、同じものを上書きしているように見えるけど、どこか変えているのでしょうか?(同じにみえるので、必要性がわかりませんでした。)

toyswiss
質問者

お礼

回答ありがとうございます。 私の文章がわかりにくくてすみません。 質問は、メニュー部分ではなく、コンテンツ部分の文字サイズの変更についてです。 読み込みについてですが、ライブラリを最初に、次にスクリプトを実行しています。 >同じものを上書きしているように見えるけど というのは、ifとelseの部分のことでしょうか? javascriptが全くの無知で、一つにすると動かなくなるので、このままにしています。 (元のスクリプトは、ボタンが2つで、ボタンを押すと押したほうの画像が変わるといったものを3つに変えたので、このようになってしまいました。)

すると、全ての回答が全文表示されます。
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.2

エラーが起きるの? そのエラーの内容がわかると 何か見えてくるかもしれないわ。 ところで、エラーの出ないページは ページ内に<p><li><td>があるのよね。 エラーの出るページにも3種類ともあるのかしら。

toyswiss
質問者

お礼

回答ありがとうございます。 エラーは、「オブジェクトを指定してください」となっています。 エラーの出るページにも、<p><li><td>等、適用したい部分の指定をしています。

すると、全ての回答が全文表示されます。
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

読み込んでいる 外部JavaScriptのパスが間違っている と言うのが 一番考えられる理由ね。

toyswiss
質問者

補足

早速の回答ありがとうございます。 外部JavaScriptのパスは何度も確認したのですが、間違っていませんでした。 もう一つ、書き忘れていたので書いておきます。 <script type="text/javascript"> <!-- $(function(){ $("td").css("font-size"); $("p").css("font-size"); $("li").css("font-size"); }); function font(size){ $("td").css("font-size",size); $("p").css("font-size",size); $("li").css("font-size",size); } //--> </script> 一度、ここの場所指定の部分を空にしてみたらエラーもでなくなりました。(もちろん文字変更はできませんが) もしかすると、ここが上手く適用されていないのかと思います。しかし、動くページと同様に指定しているだけなので、原因がさっぱりわかりません。 何か気づいた点がありましたら、よろしくお願いします。

すると、全ての回答が全文表示されます。

関連するQ&A