【実装】丸でクリッカブルしてみました
画像サイズ(widthとheight)の指定は必須です。
See the Pen 【jQuery】画像のレスポンシブ対応でクリッカブルマップがズレない『RWD Image Maps』を使いこなす by 125naroom (@125naroom) on CodePen.
HTMLとCSSとjQueryはこちら
HTML
<div class="imgBox">
<img src="https://125naroom.com/demo/img/sample_maru.jpg" alt="" width="1483" height="1483" usemap="#Map">
<map name="Map">
<area shape="circle" coords="375,331,154" href="#s_01">
<area shape="circle" coords="1108,331,154" href="#s_01">
<area shape="circle" coords="1108,1011,154" href="#s_01">
<area shape="circle" coords="375,1011,154" href="#s_01">
</map>
</div>
CSS
.imgBox {
text-align: center;
margin: 50px 0;
}
.imgBox img {
max-width: 100%;
height: auto;
vertical-align: top;
}
jQuery
$(function(){
$('img[usemap]').rwdImageMaps();
});
【実装】ホバー設定したい時は、focusが使えます
ホバー設定がしたい時は、focusが使えます。
ただし、ブラウザによっては効かない(同じ効果にならない)場合があるので要注意です。
See the Pen 【jQuery】画像のレスポンシブ対応でクリッカブルマップがズレない『RWD Image Maps』を使いこなす by 125naroom (@125naroom) on CodePen.
jQuery
$(function(){
$('area').hover(
function() { $(this).focus().css('outline','10px solid #000'); },
function() { $(this).blur().css('outline','none'); }
)
});
『RWD Image Maps』のダウンロード
まずは『RWD Image Maps』に必要なファイルを下記サイトからダウンロードします。
『RWD Image Maps』の使い方
ダウンロードファイルの中で必要なファイルは以下の1点です。
- jquery.rwdImageMaps.min.js
※『min』のついてないファイルでもオッケーです。『min』が付いているファイルは改行などがない容量軽減版になります。
HTML
<script type="text/javascript" src="js/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="js/jquery.rwdImageMaps.min.js"></script>
CDNを使う場合は、
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jQuery-rwdImageMaps/1.6/jquery.rwdImageMaps.min.js"></script>
jQuery
$(function(){
$('img[usemap]').rwdImageMaps();
});
※ img[usemap]は、RWD Image Mapsを適用する。
※ クリッカブルマップは、全て適用されるので上記を書くだけで問題なしです。
イメージマップを作成してくれる便利なサイトさん
画像をドラッグするだけでとっても簡単にコードが手に入ります。
メモ
jQueryのことで何かわからないことがあればjQueryの日本語リファレンスサイトがあるので一度チェックしてみるといろいろ解決できたりしますよ。