我觉得我非常接近解决这个问题,但遗漏了一些东西......我试图将多个 div 放置在我的图像地图上多个矩形区域形状的顶部和左侧位置之上。一切都可以追溯到我的控制台,但它没有将顶部和左侧位置设置为 div
以下是我到目前为止所拥有的,但我觉得我错过了一些东西……任何东西都可以挽救生命!
图片地图:
<img id="map" src="assets/img/header_bg2.png" width="1345" height="534" border="0" usemap="#neighbormap" />
<map name="neighbormap" id="neighbormap">
<areaclass="button" data-target="one" shape="rect" coords="335,239,376,282" href="#" />
<area class="button" data-target="two" shape="rect" coords="401,116,438,155" href="#" />
<area class="button" data-target="three" shape="rect" coords="493,7,536,42" href="#" />
</map>
需要放置在区域形状的顶部和左侧位置上方的 div:
<div class="container">
<div class="one">one</div>
<div class="two">two</div>
<div class="three">three</div>
</div>
查询:
$('#neighbormap').find('.button').each(function(index, element){
var i, x = [], y = [];
var c = $(this).attr('coords').split(',');
var id = $(this).data('target')
for (i=0; i < c.length; i++){
x.push( c[i++] );
y.push( c[i] );
}
var t = y.sort(num)[0];
var l = x.sort(num)[0];
$('.' + id).css({top: t, left: l, position:'absolute'});
//console.log(t + ',' + l );
function num(a, b){ return (a-b);
}
})
更新:
我错过了“px”应该是这样的:
$('.' + id).css({top : t +'px',left : l +'px'});