• 締切済み

<map>の切り替え

ウェブサイトを作っているのですが、たぶんJavaScriptだとできると思うのでどなたか分かればと思い、投稿しました。 操作的には、 <body> <div><img src="aaa.gif" usemap="#map01" border="0" name="changeImage"></div> <!--▼クリックエリア範囲01の場合--> <map name="map01"> <area shape="rect" coords="0,0,30,30" href="javascript:document.changeImage.src='bbb.gif'";> </map> <map name="map02"> <!--▼クリックエリア範囲01の場合--> <area shape="rect" coords="0,0,20,20" href="bbb.html"> </map> </body> のような感じで、初期設定のusemapがmap01なので、最初クリックする時は、map01のクリックエリア範囲でそのaaa.gifがbbb.gifに変わります。そして、bbb.gifに変わったとき、クリックエリア範囲を<map name="map02">にしたいのです。 できますでしょうか? 一応補足しておきますが、操作的には違う画面を出すとか、新しい画面に行った時、とかではないです。 同じ画面上の操作です。

みんなの回答

  • godakaz
  • ベストアンサー率72% (16/22)
回答No.1

<html> <head></head> <body> <div><img name="img0" id="img0" src="aaa.gif" usemap="#map01" border="0"></div> <!--▼クリックエリア範囲01の場合--> <map name="map01"> <area shape="rect" coords="0,0,30,30" href="javascript:void(0);" onClick="window.document.getElementById('img0').src='bbb.gif'; window.document.getElementById('img0').useMap='#map02'; return false;"></area> </map> <map name="map02"> <!--▼クリックエリア範囲01の場合--> <area shape="rect" coords="0,0,20,20" href="bbb.html"></area> </map> </body> </html>

関連するQ&A

  • mapが機能しない

    以下のようにmapを設置しましたが、全く機能しません。何が考えられるでしょうか? <div><img src="images/head.jpg" alt="" usemap="#map" border="0"/></div> <map name="map"> <area href="kan.html#3" alt="" shape="rect" coords="0,3,105,154" /> <area href="kan.html#2" alt="" shape="rect" coords="314,3,393,154" /> <area href="kan.html#1" alt="" shape="rect" coords="106,3,211,146" /> </map>

    • ベストアンサー
    • HTML
  • Javascriptのマウスオーバー

    Javascriptでのマウスオーバーで、Mapを使って画像上に範囲指定しているリンク範囲にボーダーを表示させたいと考えています。 HTMLは、 <html> <head> <title></title> </head> <body> <img src="aaa.gif" border="0" usemap="#Map"> <map name="Map"> <area shape="rect" coords="78,200,228,241" href="bbb.html"> <area shape="rect" coords="326,168,476,209" href="ccc.html"> <area shape="rect" coords="78,141,228,182" href="ddd.html"> </map> </body> </html> このようになっています。 この状態で、マウスオーバー時にリンク範囲をボーダーで囲みたいと思っています。 JavascriptやCSSとの組み合わせ等でいろいろ探してみたのですが、どうしても上手くいきませんでした。どうしたらいいのか教えて下さい。 また、JavascriptやCSSでなくとも同じ事が出来るのでしたら、それで構いません。 どうか宜しくお願い致します。

  • クリッカブルマップがきかない!?

    html初心者です。 地図の画像上に複数のにクリッカブルマップを作成して、同ページ内のアンカーリンクへリンクを設定しています。 ※クリッカブルマップはDreamweaverで作成しています。 IEではちゃんとリンク先に行くのですが、ネスケだと、リンク先に移動しません。。どこが悪いのでしょうか??ソースは下記にある通りです。 なにか決定的にタグが抜けているんでしょうか?? 皆様、初心者な私にどうか教えてください。 よろしくお願いします。。。 ---------------------------------------------- <BODY> <div align="left"> <img src="image/map.gif" width="500" height="300" border="0" usemap="#Map"> <MAP name="Map"> <AREA shape="rect" coords="342,38,447,65" href="#01"> <AREA shape="rect" coords="333,108,439,144" href="#02"> </MAP> </div> <div> <A name="#01">一丁目</A> <A name="#02">二丁目</A> </div> </BODY>

    • ベストアンサー
    • HTML
  • JavaScriptとUsemapの切り替え

    JavaScriptとイメージタグのusemapを併用して、ボタンを押すと画像とusemap両方が切り替わるというものを考えています。そこで下記のように考えてみました。しかし、画像は切り替わったのですがusemapが切り替わることは一切ありませんでした。ブラウザはFirefox3.5で想定しています。他の質問も見てみましたが改善はしませんでした・・・ (HTML側) <img name="im" src="room1.gif" alt="イメージ" usemap="#room1"> <map name="room1"> <area shape="rect" coords="1,1,150,200" onclick="ASet()" alt="1"> <area shape="rect" coords="1,201,150,400" onclick="BSet()" alt="2"> </map> <map name="room2"> <area shape="rect" coords="151,1,300,200" onclick="CSet()" alt="3"> <area shape="rect" coords="151,201,300,400" onclick="DSet()" alt="4"> </map> <form name="kirikae"> <input value="1へ" onclick="Kirikae('room1.gif','#room1')" type="button" name="A"> <input value="2へ" onclick="Kirikae('room2.gif','#room2')" type="button" name="B"> </form> (JavaScript側) function ASet(){ alert("てすと1"); } function BSet(){ (中略) function Kirikae(mapname,usename){ document.im.src = mapname; document.im.usemap = usename; }

  • map初心者です

    名前の付け方がわかりません。 なんでもいいのでしょうか?とりあえずわからないので画像名と同じ名前に設定しました。 また、下の記述が全部なのですが画像しかアップされません。 リンクすらなりません。 どこがおかしいのでしょうか。よろしくお願いします。 <img src="img/1.jpg" usemap="#1map" border="0"> <map name="1map">  <area shape="rect"   coords="220,148,179,200"   href="http://12345" alt="**" target="_blank">  <area shape="rect"   coords="358,125,181,126"   href="http://12345" alt="**" target="_blank">  <area shape="rect"   coords="167,336,178,141"   href="="http://12345" alt="**" target="_blank">  <area shape="rect"   coords="178,338,180,214"   href="="http://12345" alt="**" target="_blank"> </map> 関係あるかわかりませんが、使っているのはロリポップです。

    • ベストアンサー
    • HTML
  • map が機能しない

    <div><img src="images/topbar.gif" alt="" usemap="#map2" border="0" /></div> <map name="map2"> <area href="site.html" alt="" shape="rect"coords="394,57,495,68" /> <area href="toi.html" alt="" shape="rect" coords="510,57,605,68" /> </map> 上記のようにリンクを画像上に設置しましたが、IE6では機能しませんでした。 原因はalphafilter.jsというジャバスクリプトを使用していたからです。、これはサイトの外枠に影を入れるため、透過png の画像を使用したいためです。透過pngをIE6で有効にするためにalphafilter.js を使ったわけす。 mapを機能させるためにはalphafilter.jsを外さなければなりません。 IE6で外枠の影、map両方を機能させる良い方法はないでしょうか? CSSハックでIE6のみ透過gifを使うという方法はとりたくないです。何故なら透過gifは画像が粗いからです。

    • ベストアンサー
    • HTML
  • クリッカブル・マップのリンクが効かない

    下記のコードでpngの画像上でリンクをつけましたが、カーソルをかざしても反応が有りません。どこが間違っているのでしょうか? 皆様、ご教授お願いします <table width="750" align="center"> <tbody> <tr><td> <img src="top2.png" usemap="#top2"> <map name="top2"> <area shape="rect" coords="20,197,63,206" href="http://------.html" alt="A"> <area shape="rect" coords="78,198,121,206" href="http://------.html" alt="b"> <area shape="rect" coords="137,198,181,206" href="http://------.html" alt="c"> <area shape="rect" coords="196,198,239,206" href="http://------.html" alt="d"> <area shape="rect" coords="19,163,63,272" href="http://------.html" alt="e"> <area shape="rect" coords="77,264,121,272" href="http://------.html" alt="f"> </map> </td> </tr> </tbody> </table>

    • 締切済み
    • XML
  • 画像に複数リンクをはる方法(イメージマップ)

    画像は表示されるのですが、リンクがはれません。 どこがおかしいのでしょうか? リンクをはる画像と、リンク先は別フレームで、表示させたいフレームの名前はinです。 ついでに、リンクをクリックした瞬間に出る点線の消し方もわかる方がいたら教えてください。 よろしくお願いします。 タグ(html内)↓ <body> <img src="http:~" usemap="mn"> </body> <map name="mn"> <area shape="rect" coords="298,298,355,262" href="http:~l"target="in"> <area shape="rect" coords="298,276,319,285" href="http:~"target="in"> <area shape="rect" coords="324,273,362,288" href="~html" target="in"> <area shape="rect" coords="367,276,399,286" href="~html" target="in"> </map>

  • 画像毎に違うクリッカブルマップを設定したい

    地図画像を表示して複数のクリッカブルマップを配置し、ユーザが選択したら、詳細地図を表示してさらにそこでもクリッカブルマップを配置して、、、 という階層的に地図を辿られるようなコンテンツをつくろうと思っています。 JavaScriptで制御できると思って以下のようなコードを書いたのですが、 初期画像において、クリッカブルマップ(alt=area1)を押せば正常に動作しますが、 もう一方のクリッカブルマップ(alt=area2)を押すと、 IE6の場合にエラーが発生してブラウザが終了してしまいます。 尚、FireFoxでは正常に動作します。 どこに原因があるかも分らず手詰まり状態です。 同じ現象にあわれた方で解決策をご存知の方がいらっしゃれば、ご教授下さいm(_ _)m <html> <head> <meta http-equiv="Content-Script-Type" content="text/javascript"/> <script type="text/javascript"> <!-- function ChangeImg(mapname,usemapname) { document.map0.src = mapname; document.map0.useMap = usemapname; } //--> </script> </head> <body> <img src="map0.jpg" width="300" height="300" name="map0" useMap="#usemap0"> <map name="usemap0"> <area href="JavaScript:ChangeImg('map1.jpg','#usemap1')" shape="rect" alt="area1" coords="10,100,140,200"> <area href="JavaScript:ChangeImg('map2.jpg','#usemap2')" shape="rect" alt="area2" coords="150,100,290,200"> </map> <map name="usemap1"> <area href="http://google.co.jp" shape="rect" alt="shop1" coords="50,50,250,250"> </map> <map name="usemap2"> <area href="http://yahoo.co.jp" shape="rect" alt="shop2" coords="50,50,250,250"> </map> </body> </html>

  • イメージマップで文章を表示したい。

    下記の例のように、「map.gif」という画像の各箇所ごとにそれぞれのリンクを貼るのは下記の方法で出来ると思うのですが、 「coords="22,11,122,62"」にマウスが乗ったときに指定した箇所に文章を表示するにはどうしたらよいのでしょうか? ※それぞれの箇所によって、それぞれ違った文章を表示したいです。 ※「map.gif」という画像が表示されている上段(下段でもOK)に枠を作って、その中に説明文が表示される仕組み。 <img src="map.gif" alt="サンプル" usemap="#sample"> <map name="sample"> <area shape="rect" coords="22,11,122,62" href="map1.html" alt="リンク1"> <area shape="circle" coords="184,86,30" href="map2.html" alt="リンク2"> <area shape="poly" coords="87,78,30,110,81,139,69,113" href="map3.html" alt="リンク3"> <area shape="default" href="map4.html" alt="リンク4"> </map> 宜しくお願いします。

    • ベストアンサー
    • HTML