要显示和隐藏的区域标签 div
Area tag to display and hide div
我有一个区域地图,当我单击特定区域时,我想显示与该选择相对应的某个 div。
IE。如果你点击地图中的square1,它会显示div1。如果您单击 square2,它会隐藏 div1 并显示 div2。
到目前为止,我无法获得预期的结果。如果有更好的方法来解决我的问题,我愿意接受建议。
<map name="FPMap0" id="FPMap0">
<area item="first" href="#" shape="polygon" coords="347, 79, 349, 201, 449, 248, 540, 204, 541, 82, 448, 34" />
<area item="second" href="#" shape="polygon" coords="560, 81, 562, 206, 660, 255, 756, 208, 758, 81, 659, 31"/>
</map>
<img width="1000" height="667" src="picture.png" usemap="#FPMap0" alt=""/>
<div id="first">Text1</div>
<div id="second">Text2</div>
<script>
$("map#FPMap0").click(function(ev){
var target = $(ev.target);
var targetId = target.attr('id');
if(targetId == 'first') {
$("#first").show();
} else if(targetId=='second') {
$("#second").show();
}
});
</script>
你的代码有很多错误。
试试这个:
$( document ).ready(function() {
$('#first, #second').hide();
$("map[name=FPMap0] area").on('click', function () {
var target = $(this).attr('item');
if (target == 'first') {
$('#second').hide();
$("#first").show();
} else if (target == 'second') {
$('#first').hide();
$("#second").show();
}
});
});
因为您的 area
标签有一个与 div id 相匹配的属性(项目),您可以简单地这样做...
$('area').on('click',function() {
$('div').hide();
$('#' + $(this).attr('item')).show();
});
我有一个区域地图,当我单击特定区域时,我想显示与该选择相对应的某个 div。 IE。如果你点击地图中的square1,它会显示div1。如果您单击 square2,它会隐藏 div1 并显示 div2。 到目前为止,我无法获得预期的结果。如果有更好的方法来解决我的问题,我愿意接受建议。
<map name="FPMap0" id="FPMap0">
<area item="first" href="#" shape="polygon" coords="347, 79, 349, 201, 449, 248, 540, 204, 541, 82, 448, 34" />
<area item="second" href="#" shape="polygon" coords="560, 81, 562, 206, 660, 255, 756, 208, 758, 81, 659, 31"/>
</map>
<img width="1000" height="667" src="picture.png" usemap="#FPMap0" alt=""/>
<div id="first">Text1</div>
<div id="second">Text2</div>
<script>
$("map#FPMap0").click(function(ev){
var target = $(ev.target);
var targetId = target.attr('id');
if(targetId == 'first') {
$("#first").show();
} else if(targetId=='second') {
$("#second").show();
}
});
</script>
你的代码有很多错误。
试试这个:
$( document ).ready(function() {
$('#first, #second').hide();
$("map[name=FPMap0] area").on('click', function () {
var target = $(this).attr('item');
if (target == 'first') {
$('#second').hide();
$("#first").show();
} else if (target == 'second') {
$('#first').hide();
$("#second").show();
}
});
});
因为您的 area
标签有一个与 div id 相匹配的属性(项目),您可以简单地这样做...
$('area').on('click',function() {
$('div').hide();
$('#' + $(this).attr('item')).show();
});