- ベストアンサー
HTML言語
HTML言語が全くわからないのですが、 自分はFrontpage2000を用いてホームページ作成を しています。 以前、Frontpageのホバーボタンを用いた所、 知人から、自分が以前作ったホバーボタンは、 Javaアプレットなので、Netscape等では正常に 動作しないといわれ、Java Scriptにしたほうが よいと聞きました。 そこで、紹介してもらったのが、 http://www.kw-site.com/ なんですが、ここのオンマウスアクションの イラストが変わるものを導入しようと思うのですが、 ただ単にHTMLをコピーした所、ホームページ上には その言語がずらっと並んでしまい、 失敗してしまいました。 どうすればよいでしょうか? ちなみに、作成元と連絡が取れません。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
質問文にあるサイトを見てみましたが、そのサイトで紹介されているスクリプトは、こういってしまうのは難ですが、書き方としては少々古いのではないかと思います。 おそらく、このスクリプトでは、Netscape6以降やNetscape、IE以外で、それらを偽装できないブラウザでは動作しませんし、書き方としても想定しているブラウザのバージョンが古かったり、同じ処理を繰り返し記述していたりと、少々スマートさに欠ける部分があるようにも思います。 代替案ですが、以下のようなソースではいかがでしょうか。 head内に、 <script type="text/javascript"><!-- if (document.images){ imgs= new Array(); for (i=0; i<4; i++){//i<4の4には、差し替える画像の合計枚数を入れてください imgs[i]=new Image(); } imgs[0].src="***.jpg"; imgs[1].src="***.jpg"; imgs[2].src="***.jpg"; imgs[3].src="***.jpg"; //以上に、差し替える画像ファイルのURLを入れます。 } function ImgChange(tar,pic){ document.images[tar].src=imgs[pic].src; } //--></script> これをコピーしてください。 コメントのある部分は、適宜修正してください。 画像の表示部分では、 <a href="#" onMouseover="ImgChange('img1',1)" onMouseout="ImgChange('img1',0);"><img src="***.jpg" name="img1"></a> <a href="#" onMouseover="ImgChange('img2',3)" onMouseout="ImgChange('img2',2);"><img src="***.jpg" name="img2"></a> このような感じにしてみてください。 a要素のonMouseoverはポインタがそこに載った時に、onMouseoutはポインタがその上から離れた時に、それぞれ行う処理を指定します。 また、画像の差し替えを行う対象のimg要素には、必ずname属性を付け、固有の任意の名前を付けてください。 onMouseover、onMouseout内で指定した処理の内容ですが、「ImgChange(a,b)」という先ほどscript要素内で定義した処理を呼び出しています。 ImgChange(a,b)という関数では、aのところで指定しているname属性をもつimg要素に対して、imgsという名前で定義した配列の中の、bで指定した配列番号の画像を差し替えて表示させるようになっています。 例を引いて解説すると、「ImgChange('img1',1)」と指定している部分では、img1という名前を付けたimg要素に、imgs[1].srcで定義したURLにある画像を表示させる処理を行います。 先の方の補足にある構文エラーというエラーメッセージですが、おそらくscript要素内の記述に、JavaScriptの書式に則っていない部分があるということだと思います。 もらってきたスクリプトであれば、このエラーがでてきた時には、ソースを確認してみて、完全にソースのコピーができているかどうかを確認しなおしてみるのが良いと思いますよ。 参考になれば幸いです。
その他の回答 (2)
- ocat_uske
- ベストアンサー率50% (8/16)
JavaScriptは<SCRIPT>タグ内に設置しないと意味をなさないです。 -- 例 <SCRIPT Language="JavaScript"> <!-- … // --> </SCRIPT> の…にコピペしてください。 また、オンマウスイベントということなので、ボタンを作る時にイベントから関数(functionと記載されているもの)を呼び出すようにしましょう。 <input type=button onMouseOver="<<<function名>>>" onMouseOut="<<<function名>>>"> onMouseOverはマウスが乗ったときに呼び出される関数、onMouseOutは離れた時に呼び出される関数です。 ちなみに<SCRIPT>タグは、<HEAD>内でも<BODY>内でもかまいませんが<HTML>タグ内に書いてください。
補足
回答ありがとうございます。 スクリプトの方は、改善されましたが、 イラストの方にも問題がありました。 切り替わるイラストの方ですが、指定した所、 このページのスクリプトでエラーが発生しました という表示がでて、エラーの内容が構文エラーです。 なぜでしょうか? 度々すみませんが、よろしくお願い申しあげます。
- nana_ko
- ベストアンサー率19% (89/467)
念のため確認なんですが、コピペしたスクリプトは<head>~</head>内に貼り付けられました??? bodyに貼っちゃうとテキストとして出力されてしまいますよ。
お礼
回答ありがとうございます。 <head></head>に貼付けてませんでした。 ありがとうございました。
お礼
回答ありがとうございました。 これでやっと出来ました。助かりました。 結構難しい物なんですね。いい勉強になりました。 ありがとうございました。