- ベストアンサー
htmlファイルによって正常にロールオーバーするページとしないページがあるのですが、どこが間違っているのでしょう?
お世話になります。 すべてのページに共通のボタンを設置してロールオーバーさせたいのですが、なぜかhtmlファイルによってきちんとロールオーバーするページとしないページがあります。初心者なので知らない内にソースをいじってしまったのかもしれませんが、このソースのどこが間違っているか教えていただけないでしょうか?初心者なものでホントに分からないです。ホントに困っています、どうかよろしくお願いします。ちなみにDreamweaverMXを使用しています。 ■正常に働くhtml <body onLoad="MM_preloadImages('images/home02.jpg','images/news02.jpg','images/company02.jpg')"> 中略 <a href="index.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image1','','images/home02.jpg',1)"><img src="images/home01.jpg" alt="home" name="Image1" width="134" height="53" border="0"></a> <a href="news.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image2','','images/news02.jpg',1)"><img src="images/news01.jpg" alt="新着情報" name="Image2" width="134" height="53" border="0"></a> <a href="company.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image3','','images/company02.jpg',1)"><img src="images/company01.jpg" alt="会社概要" name="Image3" width="133" height="53" border="0"></a> ■正常に働かないhtml <body onLoad="MM_preloadImages('images/home02.jpg','images/news02.jpg','images/company02.jpg')"> 中略 <a href="index.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image1','','images/home02.jpg',1)"><img src="images/home01.jpg" alt="home" name="Image1" width="134" height="53" border="0"></a> <a href="news.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image2','','images/news02.jpg',1)"><img src="images/news01.jpg" alt="新着情報" name="Image2" width="134" height="53" border="0"></a> <a href="company.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image3','','images/company02.jpg',1)"><img src="images/company01.jpg" alt="会社概要" name="Image3" width="133" height="53" border="0"></a>
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
本来ならば正常に動くhtml内タグと動かないhtmlタグを 全て書いていただくのが比較する上でもベストと思います。 ANo.1さんへの補足を拝見しましたところ、■正常に動かないhtmlの中に <link href="images/favicon.ico" rel="shortcut icon"> というJavaScriptには不必要なタグが入っています。これ以外は全く同じ内容です。 一度これを削除してみて動作するかどうか確認されてみてはどうでしょうか。 それでも動作しない場合はここに書かれていない他のタグに問題があると思いますよ。 あとANo.1さんが書かれているように「ファイルの保存場所やファイル名など」も関係しているかもしれません。
その他の回答 (2)
- abril
- ベストアンサー率69% (388/560)
横から失礼します。 > <link href="images/favicon.ico" rel="shortcut icon">これはアイコン表示させるためのタグだと思いますが、コレは普通はどこに書けばいいんでしょう? link要素はhead要素の子要素ですので、<head>~</head>内にのみ記述できます。 これに限らずHTMLタグの記述の仕方には色々と決まり事がありますので、必ず仕様を確認されながら制作される様に心がける事をお奨めします。
- higekuman
- ベストアンサー率19% (195/979)
ここに記載してある内容に限っては、どちらもまったく同じです。 きっと、中略部分か、ファイルの保存場所やファイル名など、ここに記載されていない部分に問題があるんだと思います。 そもそも、初心者を自称しているのに、なぜ記載している部分に違いがあると決め付け、他の部分を略してしまったのでしょうか?
補足
ご回答ありがとうございます。 仰るとおりです。勝手に判断してもしかしたら主要な部分を略していたかもしれません。というわけで、ここ以外ならば間違っているのはここかなと思われるMM_swapImgRestore()とMM_swapImage()の詳細を記述しておきます。どうかご教授お願いします。 ■正常に動かないhtml <!-- function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; } function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}<link href="images/favicon.ico" rel="shortcut icon"> if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_swapImage() { //v3.0 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} } //--> ■正常に動くhtml <!-- function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; } function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_swapImage() { //v3.0 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} } //-->
お礼
回答ありがとうございます。 <link href="images/favicon.ico" rel="shortcut icon">を削除したらロールオーバーが正常に働きました。 教えてくださり、感謝しています。 初心者で何故か知らないうちにこんな変なところに記述していたんでしょう、きっと。 ところで、<link href="images/favicon.ico" rel="shortcut icon">これはアイコン表示させるためのタグだと思いますが、コレは普通はどこに書けばいいんでしょう?