Javascript 图像地图顶部的文本

Javascript 图像地图顶部的文本,javascript,jquery,html,css,imagemap,Javascript,Jquery,Html,Css,Imagemap,目前,我有一个图像与图像地图。有没有一种方法可以让我编写一些JavaScript代码,使用区域名称作为变量来显示它的实际内容?所有文本和区域名称都已在数据数组中 例如,如果该区域命名为Area1,则其内部将包含文本Text1,以此类推 我为什么要这么做?对我来说,把上面的名字打印出来比较容易 编辑:图像映射的示例 <img src="planets.gif" width="145" height="126" alt="Planets" usemap="#planetmap"> &l

目前,我有一个图像与图像地图。有没有一种方法可以让我编写一些JavaScript代码,使用区域名称作为变量来显示它的实际内容?所有文本和区域名称都已在数据数组中

例如,如果该区域命名为Area1,则其内部将包含文本Text1,以此类推

我为什么要这么做?对我来说,把上面的名字打印出来比较容易

编辑:图像映射的示例

<img src="planets.gif" width="145" height="126" alt="Planets" usemap="#planetmap">

<map name="planetmap">
  <area shape="rect" coords="0,0,82,126" href="sun.htm" alt="Sun">
  <area shape="circle" coords="90,58,3" href="mercur.htm" alt="Mercury">
  <area shape="circle" coords="124,58,8" href="venus.htm" alt="Venus">
</map>

不是很精确,但它可以作为进一步改进的良好基础

HTML:

<div id="map">
    <img src="http://placehold.it/145x126" width="145" height="126" alt="Planets" usemap="#planetmap">
</div>

<map name="planetmap">
    <area shape="rect" coords="0,0,82,126" href="sun.htm" alt="Sun" data-name="Sun">
    <area shape="circle" coords="90,58,3" href="mercur.htm" alt="Mercury"  data-name="Mercury">
    <area shape="circle" coords="124,58,8" href="venus.htm" alt="Venus" data-name="Venus">
</map>
#map {
    position:relative
}
.map_title {
    position:absolute;    
}
$(function() {

    $('area').each(function(){
        var txt=$(this).data('name');
        var coor=$(this).attr('coords');
        var coorA=coor.split(',');
        var left=coorA[0];
        var top=coorA[1];

        var $span=$('<span class="map_title">'+txt+'</span>');        
        $span.css({top: top+'px', left: left+'px', position:'absolute'});
        $span.appendTo('#map');
    })

})
JQ:

<div id="map">
    <img src="http://placehold.it/145x126" width="145" height="126" alt="Planets" usemap="#planetmap">
</div>

<map name="planetmap">
    <area shape="rect" coords="0,0,82,126" href="sun.htm" alt="Sun" data-name="Sun">
    <area shape="circle" coords="90,58,3" href="mercur.htm" alt="Mercury"  data-name="Mercury">
    <area shape="circle" coords="124,58,8" href="venus.htm" alt="Venus" data-name="Venus">
</map>
#map {
    position:relative
}
.map_title {
    position:absolute;    
}
$(function() {

    $('area').each(function(){
        var txt=$(this).data('name');
        var coor=$(this).attr('coords');
        var coorA=coor.split(',');
        var left=coorA[0];
        var top=coorA[1];

        var $span=$('<span class="map_title">'+txt+'</span>');        
        $span.css({top: top+'px', left: left+'px', position:'absolute'});
        $span.appendTo('#map');
    })

})
$(函数(){
$('area')。每个(函数(){
var txt=$(this.data('name');
var coor=$(this.attr('coords');
var coorA=coor.split(',');
左var=coorA[0];
var-top=coorA[1];
变量$span=$(''+txt+'');
$span.css({top:top+'px',left:left+'px',position:'absolute'});
$span.appendTo(“#map”);
})
})

不是很精确,但它可以作为进一步改进的良好基础

HTML:

<div id="map">
    <img src="http://placehold.it/145x126" width="145" height="126" alt="Planets" usemap="#planetmap">
</div>

<map name="planetmap">
    <area shape="rect" coords="0,0,82,126" href="sun.htm" alt="Sun" data-name="Sun">
    <area shape="circle" coords="90,58,3" href="mercur.htm" alt="Mercury"  data-name="Mercury">
    <area shape="circle" coords="124,58,8" href="venus.htm" alt="Venus" data-name="Venus">
</map>
#map {
    position:relative
}
.map_title {
    position:absolute;    
}
$(function() {

    $('area').each(function(){
        var txt=$(this).data('name');
        var coor=$(this).attr('coords');
        var coorA=coor.split(',');
        var left=coorA[0];
        var top=coorA[1];

        var $span=$('<span class="map_title">'+txt+'</span>');        
        $span.css({top: top+'px', left: left+'px', position:'absolute'});
        $span.appendTo('#map');
    })

})
JQ:

<div id="map">
    <img src="http://placehold.it/145x126" width="145" height="126" alt="Planets" usemap="#planetmap">
</div>

<map name="planetmap">
    <area shape="rect" coords="0,0,82,126" href="sun.htm" alt="Sun" data-name="Sun">
    <area shape="circle" coords="90,58,3" href="mercur.htm" alt="Mercury"  data-name="Mercury">
    <area shape="circle" coords="124,58,8" href="venus.htm" alt="Venus" data-name="Venus">
</map>
#map {
    position:relative
}
.map_title {
    position:absolute;    
}
$(function() {

    $('area').each(function(){
        var txt=$(this).data('name');
        var coor=$(this).attr('coords');
        var coorA=coor.split(',');
        var left=coorA[0];
        var top=coorA[1];

        var $span=$('<span class="map_title">'+txt+'</span>');        
        $span.css({top: top+'px', left: left+'px', position:'absolute'});
        $span.appendTo('#map');
    })

})
$(函数(){
$('area')。每个(函数(){
var txt=$(this.data('name');
var coor=$(this.attr('coords');
var coorA=coor.split(',');
左var=coorA[0];
var-top=coorA[1];
变量$span=$(''+txt+'');
$span.css({top:top+'px',left:left+'px',position:'absolute'});
$span.appendTo(“#map”);
})
})

您正在使用谷歌地图API吗?或者地图盒等等?我都不用。我使用的是HTML图像映射。好的,这是某种API吗?你有一些可以分享的代码吗?^API lol这条评论让我很困惑,我不确定你需要提供什么浏览器支持,但如果你的用户不是来自第三世界国家或养老院,你通常可以用CSS(没有区域地图)来做这件事。你在使用谷歌地图API吗?或者地图盒等等?我都不用。我使用的是HTML图像映射。好的,这是某种API吗?你有一些可以分享的代码吗?^API lol这条评论让我很困惑,我不确定你需要提供什么样的浏览器支持,但是如果你的用户不是来自第三世界国家或养老院,你通常可以用CSS(没有区域图)来做这件事。非常感谢。这正是我想做的。最后一件事,你知道如何使它自动定位吗?这样就可以放在边界内了。示例:。为此,名称超出了边界:\n而其他一些名称仅位于1个位置:(请尝试以下操作:。适用于矩形。非常感谢。它完全符合我的要求。不过,最后一件事是,您知道如何使其自动定位吗?以使其适合边框内。例如:。为此,名称超出边框:\n而其他一些名称仅位于一个位置:(请尝试以下操作:。适用于矩形。)