• ベストアンサー

画像にマウスが重なると画像とテキストを変えたい!

いろいろ考えましたが、手詰まりになってしまいました。やはり、JavaScriptは難しいですね。。。 現在、HPを作っていまして、写真が80px位のものが横並びで10枚程あり、そこへマウスが乗っかると、1、その下に300px位の上記の写真の大きいものが表示され、また、その写真の下にあるnextとbackのボタンで写真が次へと入れ替わっていく事(最後までいくと最初に戻る)、2、その横にその写真の説明も同時に表示させたいのですが、1はなんとかいろいろ調べてJavaScriptを使い出来たのですが、2の方法が分かりません。どうか、教えていただけないでしょうか? ヘッドに埋めたソースとしては <script language="JavaScript"><!-- ImgA = new Array() ImgA[0]="item/s_item/1.jpg" ImgA[1]="item/s_item/2.jpg" ImgA[2]="item/s_item/3.jpg" ImgA[3]="item/s_item/4.jpg" ImgA[4]="item/s_item/5.jpg" ImgA[5]="item/s_item/6.jpg" ImgA[6]="item/s_item/7.jpg" ImgA[7]="item/s_item/8.jpg" ImgA[8]="item/s_item/9.jpg" ImgA[9]="item/s_item/10.jpg" ImgA[10]="item/s_item/11.jpg" ImgA[11]="item/s_item/12.jpg" ImgA[12]="item/s_item/13.jpg" ImgA[13]="item/s_item/14.jpg" ImgA[14]="item/s_item/15.jpg" ImgA[15]="item/s_item/16.jpg" ImgA[16]="item/s_item/17.jpg" DImgs = new Array() for (i=0 ; i<ImgA.length ; i++){ DImgs[i] = new Image() DImgs[i].src = ImgA[i] } function Swap(a,b){ a=a.name document.images[a].src = ImgA[b] } v = 0 function Change(a,b,c){ a=a.name num = c - b +1 v =(v+1+num)%num w = v + b document.images[a].src = ImgA[w] return false } v = 0 function Changeback(a,b,c){ a=a.name num = c - b -1 v =(v-1+num)%num x = v + b document.images[a].src = ImgA[x] return false } これがボタンで写真が入れ替わる部分です。これに対応して、bodyに <li class="example_3_item"><a href="#" onmouseover="Swap(swapimage,0)" onmouseout="Swap(swapimage,0)"><img src="item/s_banner/01.jpg" name="0" height="86" border="0"></a> "swapimage"は1の配置された大きい写真の、idとnameです。この横にテキストを3行程入れてたいと思っています。 分かりづらいかも知れませんがどうぞよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • leap_day
  • ベストアンサー率60% (338/561)
回答No.1

こんにちは 簡単なサンプルですが参考にどうぞ(^^) <style type="text/css"> #imagegallary { width:900px; } #imagegallary img { width:86px; height:86px; border:none; } #gallary { width:600px; margin:auto; text-align:center; } #swapimage { width:300px; height:300px; float:left; } #swaptext { width:300px; float:left; } </style> <script type="text/javascript"><!-- ImgA = new Array(); ImgA[0]="item/s_item/1.jpg" ImgA[1]="item/s_item/2.jpg" ImgA[2]="item/s_item/3.jpg" ImgA[3]="item/s_item/4.jpg" ImgA[4]="item/s_item/5.jpg" ImgA[5]="item/s_item/6.jpg" Text = new Array(); Text[0] = "画像1の説明"; Text[1] = "画像2の説明"; Text[2] = "画像3の説明"; Text[3] = "画像4の説明"; Text[4] = "画像5の説明"; Text[5] = "画像6の説明"; DImgs = new Array() for (i=0 ; i<ImgA.length ; i++){ DImgs[i] = new Image() DImgs[i].src = ImgA[i] } num = 0; function Swap(n) { document.getElementById("swapimage").src = DImgs[n].src; document.getElementById("swaptext").innerHTML = Text[n]; num = n; } function back() { num --; if(num < 0) num = ImgA.length-1; document.getElementById("swapimage").src = DImgs[num].src; document.getElementById("swaptext").innerHTML = Text[num]; } function next() { num ++; if(num == ImgA.length) num = 0; document.getElementById("swapimage").src = DImgs[num].src; document.getElementById("swaptext").innerHTML = Text[num]; } //--></script> <div id="imagegallary"> <img src="item/s_banner/01.jpg" onMouseover="Swap('0')" alt="Gallary_item0"> <img src="item/s_banner/02.jpg" onMouseover="Swap('1')" alt="Gallary_item1"> <img src="item/s_banner/03.jpg" onMouseover="Swap('2')" alt="Gallary_item2"> <img src="item/s_banner/04.jpg" onMouseover="Swap('3')" alt="Gallary_item3"> <img src="item/s_banner/05.jpg" onMouseover="Swap('4')" alt="Gallary_item4"> <img src="item/s_banner/06.jpg" onMouseover="Swap('5')" alt="Gallary_item5"> </div> <div id="gallary"> <div> <img src="*****.jpg" id="swapimage" alt="Gallary"> <div id="swaptext"> ↑の****.jpgの画像は適当に作ってね </div> <div style="clear:both;"></div> </div> <input type="button" value="BACK" onclick="back()"> <input type="button" value="NEXT" onclick="next()"> </div>

hibishoujin
質問者

お礼

ありがとうございます! まさにコレです! 今、このソースをHPへ搭載できるか。。 チャレンジ中です! また、ご報告しますね。

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

その他の回答 (1)

  • ai10
  • ベストアンサー率27% (3/11)
回答No.2

配列変数に複数の要素を入れたい場合は、 var arr = new Array( 要素1, 要素2, 要素3, ... ); とするか、 var arr = [ 要素1, 要素2, 要素3, ... ]; とした方が簡単だと思います。 (いちいち、arr[*] = 要素; と書くのは面倒だ) ただし、new Array( * ) の方では 要素が1つしかなく、しかも、その要素が数値の場合は注意。 たとえば、5という数値を入れておきたいだけの場合 var arr = new Array( 5 ); とすると、配列の要素数が5とされてしまい、 arr[0] には何も入りません。(undefined) var arr = [ 5 ]; なら大丈夫です。 ちなみに、onmouseover や onclick などのイベントは document を監視するだけでOKなようです。 (速度は遅くなりますが) ------------------------------------------------------------------------- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang='ja'>  <head>   <title></title>   <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">   <meta http-equiv="Content-Style-Type" content="text/css">   <meta http-equiv="Content-Script-Type" content="text/javascript">   <script type="text/javascript">    //@cc_on    ( function ( toImageObject, splitBreakLine, createEvent )    {      var arrImgs, arrNotes, _event;      arrImgs = [        'images/A.jpg',        'images/B.jpg',        'images/C.jpg',        'images/D.jpg'      ];      arrNotes = [        'Aに関する説明です\n3行まで\n表示可能です。\n4行目からは無視されます。',        'Bに関する説明です\nあああ\nいいい\nううう',        'Cに関する説明です\nえええ\nおおお\nかかか',        'Dに関する説明です\n\nききき\nくくく\nけけけ' // ← 「くくく」から無視されます      ];      toImageObject( arrImgs ); // Imageオブジェクトに変換      splitBreakLine( arrNotes ); // 1行ごとに分割      _event = createEvent( arrImgs, arrNotes );      // イベント登録      _event.add( window, 'load', _event.onload );      _event.add( document, 'mouseover', _event.onmouseover );      _event.add( document, 'click', _event.onclick );      // destroy      arrImgs = arrNotes = toImageObject = splitBreakLine = _event = null;    } )(      // 画像パス(文字列)からImageオブジェクトに変換      function ( arr )      {        var i, I, tmp;        for( i=0, I=arr.length; i<I; i++ )        {          (tmp = new Image()).src = arr[i];          arr[i] = tmp;        }        // destroy        i = I = tmp = arr = null;      },      // テキスト(文字列)を1行ずつに分割する関数      function ( arr )      {        var i, I, tmp;        for( i=0, I=arr.length; i<I; i++ )        {          tmp = '' + arr[i];          tmp = tmp.replace( /\n(?=\n)/g, '\n ' );          arr[i] = (tmp+'\n \n \n ').split( /\n/ );        }        // destroy        i = I = tmp = arr = null;      },      function ( arrImgs, arrNotes )      {        var currentIndex = 0;        // 画像、および、説明文を入れ替える関数        var changeViewImgAndNote = function ()        {          var objViewImg, objNote, idx, i;          idx = currentIndex;          // 画像入れ替え          if( (objViewImg = document.getElementById( 'id-view-img' )) )            objViewImg.src = arrImgs[idx].src;          // 説明文入れ替え          for( i=0; ; i++ )          {            if( ! (objNote = document.getElementById( 'id-note-'+i )) ) break;            !!objNote.firstChild && objNote.removeChild( objNote.firstChild );            objNote.appendChild( document.createTextNode( arrNotes[idx][i] ) );          }          // destroy          objViewImg = objNote = idx = i = null;        };        return {          // イベントを追加するための関数          add : function ( obj, eventType, handler )          {            obj && obj./*@if (@_jscript) attachEvent( 'on'+ @else@*/ addEventListener( /*@end@*/ '' + eventType,               handler, false );            // destroy            obj = eventType = handler = null;          },          // ロード時に実行される関数          onload : function ()          {            var i, objNote;            for( i=0; ; i++ )            {              if( ! (objNote = document.getElementById( 'id-note-'+i )) ) break;              while( objNote.firstChild ) objNote.removeChild( objNote.firstChild );            }            changeViewImgAndNote ();            // destroy            i = objNote = null;          },          // マウスオーバー時に実行される関数          onmouseover : ( function ()          {            var _regexp = { id : /^id-img-([0-9]+)$/ };            return function ( evt )            {              var objImg, ret;              objImg = evt./*@if (@_jscript) toElement @else@*/ target /*@end@*/;              if( (ret = objImg.id.match( _regexp.id )) )              {                currentIndex = ret[1] - 0;                changeViewImgAndNote ();              }              // destroy              evt = objImg = ret = null;            }          } )(),          // クリック時に実行される関数          onclick : ( function ()          {            var indexMax = arrImgs.length - 1;            return function ( evt )            {              var objInput;              objInput = evt./*@if (@_jscript) srcElement @else@*/ target /*@end@*/;              switch( objInput.value )              {              case 'prev': currentIndex && currentIndex --; changeViewImgAndNote (); break;              case 'next': (indexMax - currentIndex) && currentIndex ++; changeViewImgAndNote (); break;              }              // destroy              evt = objInput = null;            }          } )()        };      }    );   </script>   <style type='text/css'>    div.img-list    {      white-space : nowrap;    }    div.img-list img    {      width : 50px;      height : 50px;    }    img#id-view-img    {      width : 100px;      height : 100px;    }   </style>  </head>  <body>   <div class='img-list'>    <img id='id-img-0' src='images/A.jpg'>    <img id='id-img-1' src='images/B.jpg'>    <img id='id-img-2' src='images/C.jpg'>    <img id='id-img-3' src='images/D.jpg'>   </div>   <div>    <input type='button' value='prev'>    <img id='id-view-img' src='images/A.jpg'>    <input type='button' value='next'>   </div>   <div>    <p id='id-note-0'>説明文が入るところです</p>    <p id='id-note-1'></p>    <p id='id-note-2'></p>   </div>  </body> </html> ------------------------------------------------------------------------- 注: [1] 全角スペースが使われています。 [2] 特殊(?)な書き方をしているのは、私自身の勉強のためでもあり、他意はありません。

hibishoujin
質問者

お礼

ありがとうございます! なるほど、、JavaScriptは、変数をクリアしていかないと次に進めないですね。。 複数を扱うのはなかなか難しいですが、ちょっとチャレンジしてみます! ありがとうございます。

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

関連するQ&A

  • 画像の切り替え

    教えてください。 画像がはじめに1つ表示されていて、 横にサムネイルが2つあり、 サムネイルのマウスオーバーで、その画像が大きく表示され、 マウスオーバーで、元の画像へと表示が戻り、 サムネイルのクリックで、その画像が大きく表示されたまま固定となる ということがしたいのですが、 マウスオーバー、マウスアウトはとりあえず実装できたのですが、 マウスクリックを実装しても、 やはり、マウスアウトで画像が切り替わってしまいます。 どうしたらいいのでしょうか? <IMG src="images/a.jpg" id="display" name="display" width="100" height="100" border="0"> <a href="javascript:;" onClick="document.display.src='images/a.jpg'" onMouseOver="MM_swapImage('display','','images/item/a.jpg',1)" onMouseOut="MM_swapImgRestore()"> <IMG src="images/item/a.jpg" width="20" height="20" border="0" name="thumb1" id="thumb1"> </a> <a href="javascript:;" onMouseOver="MM_swapImage('display','','images/b.jpg',1)" onMouseOut="MM_swapImgRestore()" onClick="document.display.src='images/b.jpg'"> <IMG src="images/b.jpg" width="20" height="20" border="0" name="thumb2" id="thumb2"> </a> 以上 よろしくお願いします。

  • ボタンをMouseOverで、ボタン画像と指定先画像を同時に変えたい

    どちらか片方ならできるのですが、本当に同時にできるのかも分かりません。 スクリプトの記述が違うのだと思うのですが。 他の方法でも構いません、ご教授お願いします。 指定画像(name:a1)にmain01.jpgを表示させるスクリプト <script Language="JavaScript"> <!-- if(document.images){ b2 = new Image(); b2.src="main01.jpg"; } else{ b2 = "" document.a1 = "" } //--> </script> <script language="JavaScript"> <!-- 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; } ~中略~ ここはDreamweaverで作られたスクリプトなので間違いないと思います。 ボタンのロールオーバーイメージのスクリプトです。 //--> </script> HTML記述 <a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('menu00','','menu01.gif',1) document.a1.src='main01.jpg'"><img name="menu00" border="0" src="menu00.gif" width="173" height="32"></a>

  • 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>

    • ベストアンサー
    • HTML
  • リモートロールオーバーで画像と一緒にテキストも切り替える方法

    初投稿です。 当方ジャバスクリプト初心者です。 Dreamweaverで画像(メイン画像が1枚、サムネイル画像が30枚ほどあります)のリモートロールオーバーをやったのですが、同時にテキスト(説明文5行ほど)も一緒に表示・切り替えする方法が知りたいです。 ジャバスクリプトで出来るのですか? 全く検討もつかないので、どうか宜しくお願いします。 ■以下現状のhtmlです。尚、練習用なのでスタイルシートは真っ白です。■ <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> <title>無題ドキュメント</title> <link rel="stylesheet" type="text/css" href="index.css" /> <script type="text/JavaScript"> <!-- 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_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_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];} } //--> </script> </head> <body onload="MM_preloadImages('img/l_mitudera.jpg','img/l_aigou.jpg','img/l_jyuzo.jpg','img/l_kyobashi.jpg','img/l_noda.jpg')"> <img src="img/l_mitudera.jpg" width="300" height="260" name="main"><br /><br /> <img src="img/s_mitudera.jpg" width="75" height="65" onmouseover="MM_swapImage('main','','img/l_mitudera.jpg',1)" onmouseout="MM_swapImgRestore()" /> <img src="img/s_aigou.jpg" width="75" height="65" onmouseover="MM_swapImage('main','','img/l_aigou.jpg',1)" onmouseout="MM_swapImgRestore()" /> <img src="img/s_jyuzo.jpg" width="75" height="65" onmouseover="MM_swapImage('main','','img/l_jyuzo.jpg',1)" onmouseout="MM_swapImgRestore()" /> <img src="img/s_kyobashi.jpg" width="75" height="65" onmouseover="MM_swapImage('main','','img/l_kyobashi.jpg',1)" onmouseout="MM_swapImgRestore()" /> <img src="img/s_noda.jpg" width="75" height="65" onmouseover="MM_swapImage('main','','img/l_noda.jpg',1)" onmouseout="MM_swapImgRestore()" /> </body> </html>

  • オンマウスで画像ロールオーバー+テキスト変更

    こんにちは、javascript初心者です。 現在、Dreamweaver CS4でサイトを作っています。 以下のような構成になっており、menuの画像をオンマウスすると、ロールオーバーして画像の色が変わるようにしています。 (javascriptはDreamweaverが自動生成しています) ▼ココカラ ------------------------------------------ <head> <script type="text/javascript"> <!-- 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];} } //--> </script> </head> <body> <div id="menu"> <a href="a.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('menua','','a2.jpg',1)"><img src="a.jpg" alt="a" name="menua"></a> <a href="b.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('menub','','b2.jpg',1)"><img src="b.jpg" alt="b" name="menub"></a> <a href="c.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('menuc','','c2.jpg',1)"><img src="c.jpg" alt="c" name="menuc"></a> <a href="e.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('menud','','d2.jpg',1)"><img src="d.jpg" alt="d" name="menud"></a> </div> <div id="submenu">挨拶文</div> <div id="main"></div> <div id="footer"></div> </body> </html> ▲ココマデ ------------------------------------------ このメニューのオンマウスですが、ロールオーバーの動作は残したまま、submenu部分の挨拶文を各ページのサブメニューに差し変えることは可能でしょうか? (aのメニューをオンマウスすると画像の色が変わり、aのサブメニューがsubmenuに表示される等) 同じような事例を見つけたのですが、 http://okwave.jp/qa/q4651643.html こちらは画像が1箇所だったので、初心者の私では応用の仕方が分かりませんでした。 現在のjavascriptに追加する形でもまったく違うものでも良いですので、ご教授いただけると助かります。 よろしくお願いいたします。

  • ロールオーバーで画像を先読みする方法

    スワップイメージをJavascriptで製作しました。 どうしても 先読みした画像を 指定する方法がわかりません。 このやり方ではできないのでしょうか? お教えください よろしくお願いします。 以下作成したコードになります。 function preload() { var images1 = new Image(); var images2 = new Image(); var images3 = new Image(); images1.src = "ike1.jpg"; images2.src = "ike2.jpg"; images3.src = "ike3.jpg"; } function over(num){ var a=document.getElementById("img1"); var b=document.getElementById("title1"); var c=document.getElementById("teima1"); switch(num){ case 1: a.innerHTML = "<img src='ike1.jpg'>"; b.innerHTML = "ああああ"; c.innerHTML = "ああああ"; break; switch(num){ case 2: a.innerHTML = "<img src='ike2.jpg'>"; b.innerHTML = "ああああ"; c.innerHTML = "ああああ"; break; switch(num){ case 3: a.innerHTML = "<img src='ike3.jpg'>"; b.innerHTML = "ああああ"; c.innerHTML = "ああああ"; break; } }

  • Netscape6でフレーム間での画像の変更

    あるページから別フレームの画像を切り替えるスクリプトを作成していて困っています フレーム1側ソース ... function _sendData(num){  window.top.frames[1]._imgChange(n); } ... <body onLoad="_sendData(n)"> ... フレーム2側ソース ... for (i=0;i<2;i++){img[i]=new Image();} img[0].src = "images/abc.jpg"; img[1].src = "images/def.jpg"; function _imgChange(num) {  nam = "imgname";  document.images[nam].src = img[num].src; } ... <img src="xyz.jpg" name="imgname"> ... 上記ソースのように作成しましたが IE5.5とネスケ4.75で正常に動作するのですが、Netscape6だけうまく動作しません 解決方法その他アドバイスお願いします

  • マウスポインタが画像に重なった時の処理

    初歩的な質問で申し訳ありません。 現在HTMLでウェブページを作っていて、画像を貼り付けてそこにマウスポインタが重なった時に、画像を替え、なおかつ効果音を鳴らしたいのですが、画像だけが変わり音が流れません。 ソースの書き方に問題があると思うのですが、どの部分が間違っているのかよく分からない為ご指摘いただけるとうれしいです。 <html> <head><title></title></head> <body> <bgsound src="sounds/beat0001.mp3" id="b" loop="1" autostart="true"> <a href="#" onMouseOver="document.a.src='images/link2.jpg'","document.all.b.src='sounds/beat0001.mp3'" onMouseOut="document.a.src='images/link1.jpg'"> <img src="images/link1.jpg" border="1" name="a"> </a> </body> </html>

  • スワップイメージのフェード方法を教えてください

    はじめまして。 スワップイメージを、あるサイトを参考に作ってみました。 それにフェードイン/フェードアウトを追加したいのですが、いろいろと試してみましたができません。 JavaScriptは全く分からず、困っています。 お助けください。お願いします。 ちなみに以下がスワップイメージのソースです。 image画面に表示する際、フェードイン/アウトを追加してもらえると助かります。 <HEAD>  <script language="JavaScript">  <!--  Img = new Array()  Img[0]="img/image1.jpg"  Img[1]="img/image2.jpg"  Img[2]="img/image3.jpg"  AImgs = new Array()  for (i=0 ; i<Img.length ; i++){    AImgs[i] = new Image()   AImgs[i].src = Img[i]  }  function Swap(a,b){   a=a.name   document.images[a].src = Img[b]  }  //-->  </script> </HEAD> <BODY>  <TABLE>   <TR>    <TD><IMG src="img/image1.jpg" name="image"></TD>   </TR>   <TR>     <TD><A href="#" onmouseover="Swap(image,1)" onmouseout="Swap(image,0)"><img src="img/image2.jpg"></A></TD>    <TD><A href="#" onmouseover="Swap(image,2)" onmouseout="Swap(image,0)"><img src="img/image3.jpg" ></A></TD>   </TR>  </TABLE> </BODY>

  • マウスオーバーで画像の入れ替え

    以下のソースでマウスオーバー時に画像の入れ替えをしたいのですが、IE6では動作するのですが、firefoxでは動作しません。 firefoxでも動くようにするにはどうしたらいいですか? アドバイスよろしくお願いいたします。 <html> <head> <script language="JavaScript"> <!-- // タイマー変数の初期化 timer = ""; // スワップイメージ function SwapImage(img) { obj = document.getElementById("image"); obj.src = img; clearTimeout(timer); timer=setTimeout('DefaultImage()',5000); } // イメージ画像の初期化 function DefaultImage() { obj = document.getElementById("image"); obj.src = 'img/default.gif'; clearTimeout(timer); } //--> </script> </head> <body> <div class="btn"><a href="#"><img src="img/sample1.jpg" onmouseover="SwapImage('img/test01.jpg')" width="100" height="50" border="0" /></a></div> <div class="btn"><a href="#"><img src="img/sample2.jpg" onmouseover="SwapImage('img/test02.jpg')" width="100" height="50" border="0" /></a></div> <div class="btn"><a href="#"><img src="img/sample3.jpg" onmouseover="SwapImage('img/test03.jpg')" width="100" height="50" border="0" /></a></div> <div id="photo"><img src="img/default.gif" name="image" width="300px" height="150px"></div> </body> </html>