
javaスクリプトを使ってクリッカブルマップで画像差し替えをしています。(下記コード)
イメージでいうとボタン(1)(2)(3)とエリアAで成る一枚の画像の、ボタン(1)(2)(3)の箇所にマウスオンをすると画像が切り替わり、エリアAにそれぞれ違う説明が表示される(ように見える)・・・というものをJavaスクリプトを使って作りました。
この、切り替わった後のエリアAに表示された説明内に、更にクリッカブルマップを設定しリンクを貼りたいのですが、方法がわかりません。
詳しい方、教えてください。
<script type="text/javascript">
function button1_over(){
var objElement = document.getElementById( 'map' );
objElement.src = '画像1';
}
function button2_over(){
var objElement = document.getElementById( 'map' );
objElement.src = '画像2';
}
function button3_over(){
var objElement = document.getElementById( 'map' );
objElement.src = '画像3';
}
<figure>
<img src="元画像" alt="○" usemap="#image_map" id="map" />
<map id="image_map" name="image_map">
<area shape="poly" coords="省略1" onmouseover="button1_over()" href="#" alt="~~~" />
<area shape="poly" coords="省略2" onmouseover="button2_over()" href="#" alt="~~~" />
<area shape="poly" coords="省略3" onmouseover="button3_over()" href="#" alt="~~~" />
</map>
</figure>
No.1ベストアンサー
- 回答日時:
>切り替わった後のエリアAに表示された説明内に、更にクリッカブルマップ
>を設定しリンクを貼りたいのですが、方法がわかりません。
画像を入れ替えているだけなので、クリッカブルマップの仕組み自体はそのまま有効なのですが、画像ごとにボタンエリア以外にもエリアを追加設定したいのか、画像を入替えたところでボタンは消えてしまうのかが良くわかりません。(現状だとボタンの表示は消えても、クリッカブルマップは生きているはず)
よくわかりませんが、ひとつの方法としては、画像切替と同時にusemap属性の参照先も替えてあげれば異なるマップを参照することが可能なはずです。
もしも、ボタンは常に表示されているのなら、それは画像とは切り離した仕組みで表示&制御するようにしたほうがよさそうに感じます。
(通常のメニューのようなつくりにするか、表示位置がバラバラならposition:absoluteで位置を指定するとか)
あとはご質問と同様にマップ画像や参照先を切替えてあげればよろしいかと。
あるいは、ボタンに応じて異なるクリッカブルマップが表示されるようにしたいのであれば、画像を切り替えるのではなく、クリッカブルマップそのものを複数用意しておいて、それぞれのボタンに対応するマップを表示するようにしたほうがわかり易いのではないでしょうか。(他のマップは非表示)
この回答への補足
>画像ごとにボタンエリア以外にもエリアを追加設定したい
こういうことです!説明が下手ですいません。
ボタンは常に表示されています。
ということは、ボタンとエリアを一枚の画像で切り替えようとするより、ボタンとエリアをバラバラの画像にして、ボタンにオンマウスしたらエリア画像がそれぞれのクリッカブルマッに切り替わるようにした方がいい、ということですね。
その方向で考えてみます。
javaスクリプトはちんぷんかんぷんなので、また質問させてもらいます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
iframe内のリンク文字のマウス...
-
jQueryで特定のURLの時のみ表示
-
重なった画像にクリックイベン...
-
textareaに画像を表示したい
-
innerHTMLで、表示すると、一部...
-
透過pngの透明部分以外をクリッ...
-
クリックして変更した画像を他...
-
MAX関数を使ってからLEFT JOIN...
-
【jQuery】2分割レイアウトで、...
-
jqueryのsortableで一部ソート...
-
[急ぎ] videoタグで埋め込んだm...
-
バッチファイルでカウントアッ...
-
libjpegライブラリの使い方につ...
-
MFCで画像を表示させているので...
-
c++std::string型をTCHARに変換...
-
【HP作成】クリックすると下...
-
ボタンをクリックすると、隣の...
-
Slick.jsのオプションrtlについて
-
初期状態でテーブルの非表示
-
window.openで値の渡し方を教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
1枚の画像をクリックすると複数...
-
Javascript で共通の処理をどこ...
-
透過pngの透明部分以外をクリッ...
-
textareaに画像を表示したい
-
Gifアニメ、最後のコマに行った...
-
オンマウスで、画像切り替え+...
-
1枚の画像をクリックして複数の...
-
JavaScript スライドの画像にリ...
-
jQueryで特定のURLの時のみ表示
-
getElementByIdによって指定し...
-
表と裏がある1枚の画像を回転す...
-
JavaScript で flexslider の画...
-
Twitterの埋め込みしたWebペー...
-
中心を軸にくるくる回るjQuery ...
-
Javascriptで、配列にキャラ画...
-
プルダウンの位置がwin/macでず...
-
画面の表示位置を指定させて表...
-
クリッカブルマップで切り替え...
-
クリックで背景変更するタグ
-
Ajaxから画像ファイルへのリク...
おすすめ情報