objectObject.useMapは、埋め込みオブジェクト(object要素)のuseMap属性の値を取得、もしくは、設定するプロパティ。
useMap属性には、埋め込みオブジェクト(object要素)に関連付けるイメージマップ(map要素)を指定できる。
構文
取得
var $useMap = $objectElementReference.useMap;
戻り値
object要素のuseMap属性の値。object要素に関連付いているイメージマップ(map要素)の名前(name属性値)の最初に#
を付加した文字列。
設定
$objectElementReference.useMap = "#イメージマップ名";
- #イメージマップ名
- object要素に関連付けるイメージマップ(map要素)の名前(name属性値)を
#
に続けて指定。
サンプル
object要素のuseMap属性の値:
サンプルの動作について
- 「sampleMapA」ボタンをクリックすると、サンプルのobject要素のuseMap属性を「#sampleMapA」にする。「object要素のuseMap属性の値:」の右横に「#sampleMapA」と表示する。サンプルのobject要素に表示した画像の左半分をクリックすると、1つ前の画像を表示する。サンプルのobject要素に表示した画像の右半分をクリックすると、1つ後の画像を表示する。
- 「sampleMapB」ボタンをクリックすると、サンプルのobject要素のuseMap属性を「#sampleMapB」にする。「object要素のuseMap属性の値:」の右横に「#sampleMapB」と表示する。サンプルのobject要素に表示した画像の上半分をクリックすると、1つ前の画像を表示する。サンプルのobject要素に表示した画像の下半分をクリックすると、1つ後の画像を表示する。
- object要素に表示する画像の順番は、配列「$sampleImages」に格納した順番。最初の画像の表示中に1つ前の画像に切り替えようとすると、前の画像はないので、最後の画像に切り替わる。最後の画像の表示中に1つ後の画像に切り替えようとすると、後の画像はないので、最初の画像に切り替わる。
サンプルのソースコード
JavaScript
<script type="text/javascript">
function setUseMap( $useMap ) {
var $elementReference = document.getElementById( "sample" );
$elementReference.useMap = $useMap;
var $useMap = $elementReference.useMap;
document.getElementById( "sampleOutput" ).innerHTML = $useMap;
}
function setData( $next ) {
var $sampleImages = [
'http://alphasis.info/library/javascript/jquery/plugin/cycle/sample/1.jpg',
'http://alphasis.info/library/javascript/jquery/plugin/cycle/sample/2.jpg',
'http://alphasis.info/library/javascript/jquery/plugin/cycle/sample/3.jpg',
'http://alphasis.info/library/javascript/jquery/plugin/cycle/sample/4.jpg',
'http://alphasis.info/library/javascript/jquery/plugin/cycle/sample/5.jpg'
];
var $elementReference = document.getElementById( "sample" );
var $data = $elementReference.data;
var $currentIndex = $sampleImages.indexOf( $data );
var $nextIndex = $currentIndex + $next;
if( $nextIndex > $sampleImages.length - 1 ){ $nextIndex = $nextIndex - $sampleImages.length; }
if( $nextIndex < 0 ){ $nextIndex = $nextIndex + $sampleImages.length; }
$elementReference.data = $sampleImages[ $nextIndex ];
}
</script>
function setUseMap( $useMap ) {
var $elementReference = document.getElementById( "sample" );
$elementReference.useMap = $useMap;
var $useMap = $elementReference.useMap;
document.getElementById( "sampleOutput" ).innerHTML = $useMap;
}
function setData( $next ) {
var $sampleImages = [
'http://alphasis.info/library/javascript/jquery/plugin/cycle/sample/1.jpg',
'http://alphasis.info/library/javascript/jquery/plugin/cycle/sample/2.jpg',
'http://alphasis.info/library/javascript/jquery/plugin/cycle/sample/3.jpg',
'http://alphasis.info/library/javascript/jquery/plugin/cycle/sample/4.jpg',
'http://alphasis.info/library/javascript/jquery/plugin/cycle/sample/5.jpg'
];
var $elementReference = document.getElementById( "sample" );
var $data = $elementReference.data;
var $currentIndex = $sampleImages.indexOf( $data );
var $nextIndex = $currentIndex + $next;
if( $nextIndex > $sampleImages.length - 1 ){ $nextIndex = $nextIndex - $sampleImages.length; }
if( $nextIndex < 0 ){ $nextIndex = $nextIndex + $sampleImages.length; }
$elementReference.data = $sampleImages[ $nextIndex ];
}
</script>
HTML
<div id="sampleWrap">
<p>
<button onclick="setUseMap('#sampleMapA');">sampleMapA</button>
<button onclick="setUseMap('#sampleMapB');">sampleMapB</button>
</p>
<p>object要素のuseMap属性の値:<span id="sampleOutput"></span></p>
<object data="http://alphasis.info/library/javascript/jquery/plugin/cycle/sample/3.jpg" id="sample" useMap="#sampleMapA">
<p>お使いのブラウザはobject要素に対応していません。</p>
</object>
<map name="sampleMapA">
<area shape="rect" coords="0,0,150,198" onclick="setData(-1);" />
<area shape="rect" coords="150,0,300,198" onclick="setData(1);" />
</map>
<map name="sampleMapB">
<area shape="rect" coords="0,0,300,99" onclick="setData(-1);" />
<area shape="rect" coords="0,99,300,198" onclick="setData(1);" />
</map>
</div>
<p>
<button onclick="setUseMap('#sampleMapA');">sampleMapA</button>
<button onclick="setUseMap('#sampleMapB');">sampleMapB</button>
</p>
<p>object要素のuseMap属性の値:<span id="sampleOutput"></span></p>
<object data="http://alphasis.info/library/javascript/jquery/plugin/cycle/sample/3.jpg" id="sample" useMap="#sampleMapA">
<p>お使いのブラウザはobject要素に対応していません。</p>
</object>
<map name="sampleMapA">
<area shape="rect" coords="0,0,150,198" onclick="setData(-1);" />
<area shape="rect" coords="150,0,300,198" onclick="setData(1);" />
</map>
<map name="sampleMapB">
<area shape="rect" coords="0,0,300,99" onclick="setData(-1);" />
<area shape="rect" coords="0,99,300,198" onclick="setData(1);" />
</map>
</div>