現在、サイトを文字サイズ変更できるようにトライしているのですが、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>

********************************************
画像は表示されるのですが、全く動きません。
よろしくお願いします!

このQ&Aに関連する最新のQ&A

A 回答 (3件)

>ページによって動かないので、~


ご質問の文に書いてあるのは、メニュー部分(?)の変更で文字サイズの変更には関係ないみたいですね。

実際に文字サイズを変更しているのは、#1の補足部分のスクリプトだけど、ライブラリを使っていると思うので、その読込みを最初に実行していますか?
(ライブラリの読込み前に、スクリプトを実行すればエラーになります)

ついでながら、ご質問文のほうのスクリプトは、、ざっと見ただけだけど、同じものを上書きしているように見えるけど、どこか変えているのでしょうか?(同じにみえるので、必要性がわかりませんでした。)
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
私の文章がわかりにくくてすみません。
質問は、メニュー部分ではなく、コンテンツ部分の文字サイズの変更についてです。

読み込みについてですが、ライブラリを最初に、次にスクリプトを実行しています。

>同じものを上書きしているように見えるけど
というのは、ifとelseの部分のことでしょうか?
javascriptが全くの無知で、一つにすると動かなくなるので、このままにしています。
(元のスクリプトは、ボタンが2つで、ボタンを押すと押したほうの画像が変わるといったものを3つに変えたので、このようになってしまいました。)

お礼日時:2009/05/29 18:48

エラーが起きるの?


そのエラーの内容がわかると
何か見えてくるかもしれないわ。


ところで、エラーの出ないページは
ページ内に<p><li><td>があるのよね。
エラーの出るページにも3種類ともあるのかしら。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
エラーは、「オブジェクトを指定してください」となっています。

エラーの出るページにも、<p><li><td>等、適用したい部分の指定をしています。

お礼日時:2009/05/29 18:28

読み込んでいる


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

この回答への補足

早速の回答ありがとうございます。
外部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>

一度、ここの場所指定の部分を空にしてみたらエラーもでなくなりました。(もちろん文字変更はできませんが)
もしかすると、ここが上手く適用されていないのかと思います。しかし、動くページと同様に指定しているだけなので、原因がさっぱりわかりません。
何か気づいた点がありましたら、よろしくお願いします。

補足日時:2009/05/29 14:18
    • good
    • 0

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


人気Q&Aランキング

おすすめ情報