- ベストアンサー
javascript
javascript で外部ファイルJSファイルを呼び出していますが動作しません、サーバーは,apacheです。 サーバー側の設定が必要なのでしょうか? ご存知の方教えていtだけますでしょうか? よろしくお願いいたします。 ローカルでのテストも動かないのですが、ちなみに今使ってるのはマックのOSXです。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
ナビゲーションメニューを作るのでしたら、このスクリプトでは出来ません innerHTML の中途半端な性格の為、リンクがききません ナビゲーションメニューでしたら下記URL 049にあります(著作の関係でスクリプトを記載出来ません) これを元に出来ないでしょうか? 教えて頂いたURLのメニューはスクリプトを自動作成するソフト(Dreamweaverかな?)を使ってらっしゃいますので、私では解析が不可能に近いです 蛇足ながら、 >まずonMouseOverでfunction info1を呼び出す はい その通りです 画像に適応するなら <A href="#" onMouseOut="info1(' ')" onMouseOver="info1('ヒミツやから、アカンねん<br>わかった?')"> <img src="画像" width="190" height="190"></A> となります 文字列を表示するのに3つの方法を使ってます まず、 DOM (Document Object Model: 文書構造制御モデル NN6以降、IE6以降、Mozilla)の判るヤツに対して if(document.getElementById){ document.getElementById("Layer2").innerHTML = a; } の部分でレイヤーに文字列aを表示しています IE4に対しては if(document.all){ document.all["Layer2"].innerHTML = a; } で、同じく表示しています NN4に対しては if(document.layers) { with(document.layers["Layer2"].document){ open() write(staTag + a + endTag) close() }} の部分で表示しているのですが、文字列を書き換えるとスタイルシートも無くなってしまうので、再度 staTag + a + endTag を使って書いています まず 049を試してみて下さい ご不明な点等ありましたら ご遠慮なく
その他の回答 (4)
- peron
- ベストアンサー率45% (43/95)
前回の回答を保存し、実行してください ※ NN4以上(NN6以上含む)IE4以上 Mozilla等で実行出来ます) これは文字列 わたしのヒミツ に対して マウスの動きにより <DIV id="Layer2" style="position:absolute; width:200px; height:50px; z-index:2; left: 10px; top: 150px; font-size: 10pt;line-height: 130%;">ここに解説が出ます </DIV> 上にそれぞれ定義された文字列を表示しています わたしのヒミツ はマウスが乗った時に文字列が表示されます わたしのヒミツ2 はマウスが乗った時のみ文字列を表示し、離れたら消えます わたしのヒミツ3 はマウスが乗った時に文字列を表示し、離れたら別の文字列を表示します まず どのタイプが良いか選んで下さい もちろん画像に対しても有効ですので 何に対してかも教えて下さい 段階を追って最終的に外部jsファイルにして行きたいと思います
補足
本当にありがとうございます。 わたしのヒミツ2を使用したいです、画像にマウスが乗った時点で、サブタイトル(サブリンク先)を表示をしたいと思っています。 理想はこのページのタイトルバーです。 http://www.orlybeauty.com/ 何となく理解できてきそうな気がしますが、簡単に自分理解して事を記載します。間違っていたら教えていただけますか? まずonMouseOverでfunction info1を呼び出す、 document.getElementById("Layer2").innerHTML = a;で値を入れて、write(staTag + a + endTag) 表示。片手にjavaの本を握りしめてがんばっています。
- peron
- ベストアンサー率45% (43/95)
ちょっと違うかも知れませんが、私が過去に回答した中に似たようなモノがあります 質問No,943254 ただし、上記はフィルターを使っている関係上IE5以上でしか動作しません 単純に説明文だけを表示するなら <HEAD lang="ja"> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Script-Type" content="text/javascript"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>スクリプト</TITLE> <SCRIPT type="text/javascript"> <!-- var staTag ="<P style='width:200px;height:50px;font-size:10pt;line-height:130%'>"; var endTag ="</P>"; function info1(a){ if(document.getElementById){ document.getElementById("Layer2").innerHTML = a; } if(document.all){ document.all["Layer2"].innerHTML = a; } if(document.layers) { with(document.layers["Layer2"].document){ open() write(staTag + a + endTag) close() }} } //--> </SCRIPT> </HEAD> <BODY> <DIV id="Layer1" style="position:absolute; text-align: left; width: 200px; height: 80px; z-index:1; left: 200px; top: 20px; font-size: 12pt;line-height: 180%;"> <A href="#" onMouseOver="info1('ヒミツやから、おしえられまへん')"> わたしのヒミツ</A><BR> <A href="#" onMouseOut="info1(' ')" onMouseOver="info1('ヒミツやから、アカンねん<br>わかった?')"> わたしのヒミツ2</A><BR> <A href="#" onMouseOut="info1('解説を参照して下さい')" onMouseOver="info1('ヒ・ミ・ツ だから~')"> わたしのヒミツ3</A></DIV> <DIV id="Layer2" style="position:absolute; width:200px; height:50px; z-index:2; left: 10px; top: 150px; font-size: 10pt;line-height: 130%;">ここに解説が出ます </DIV> </BODY> これをWinで言うメモ帳(Macは判りません でもスクリプトは共通ですから)に全く手を加えずにコピペしてください・・・・解説は次の回答で
- peron
- ベストアンサー率45% (43/95)
ローカルでも動かないという事で下記をチェックしてみてください ※ まずは すべてローカルで 1)<HEAD> <SCRIPT type="text/javascript" src="○○.js"> </SCRIPT> ○○はJSファイルのあるパス その○○が正しく設定されているか? 2)<HEAD> <SCRIPT type="text/javascript"> <!-- 外部JSをコピペ //--> </SCRIPT> にし、実行出来るか? JavaScriptはクライアントサイドでしか動きませんので、通常のファイルと同様なのでサーバーの設定は全く必要ありません 1)パスの指定は、通常のHTMLで画像を配置するのと同じ考え方です 例えばscript/data.js・・・scriptファイルにあるdataという名のjsファイル 2)JavaScriptが間違っている この場合 動作しないようでしたらそのスクリプトを載せて頂けると解決出来るかもしれません
補足
ありがとうございます。 スクリプトはとても長くてここにのせられませんが、 マウスを持って行くと下の方にサブタイトルが出る物を簡単に作成したいのです、更新などが面倒にならないようにです。 サンプルを見ると座標とかの設定とかが必要になっているのですが、もっと短く出来る方法はございますか? それかなにか参考になるページをご存じでしょうか? 宜しくお願いいたします。
- betagamma
- ベストアンサー率34% (195/558)
まず、そのjsファイルへのURLを、http://apacheの動いているホスト/jsファイルまでのパス などとブラウザに入力して,チェックしてください。jsファイルが取得できるでしょうか? JavaScriptは、完全にクライアント側で実行するものなので,apacheの設定は必要ないはずです。apacheからすれば、jpgファイルやgifファイルなどと同じで、指定されれば、必要なMIMEエンコードをしてクライアントに送るだけです。
お礼
本当にありがとうございました。 とっても勉強になりました。 参考にいただいたページから試してみます。 また、わからない事があれば質問させていただきます。