多张图片热点如何添加

  由于图片的热点一般都是写死在HTML源代码里面了,所以如果有多张独立的图片需要增加热点,而且需要根据条件显示或者隐藏其中的某些图片时,这样图 片的位置就会发生变动,从而导致添加的热点对不上原图片的位置而导致失效或者乱套了。下面为1张图片拆分成4张进行热点操作。

   实现要点:图片要有position为relative的容器,添加的热点就会变成相对于容器的坐标了,这样隐藏图片也不会导致图片热点消失错位。

 

测试代码如下

<style type="text/css">
body{margin:0px;padding:0px;}
.relative{position:relative;float:left}/*注意容器要设置为刚好和图片大小一致,所以推荐div+float来实现*/
</style>
<div class="relative">
<img src="/imgblog/20121009/1649028793.jpg" border="0" usemap="#Map3">
<map name="Map3" id="Map3"><area shape="rect" coords="138,3,187,16" href="javascript:alert('加勒比')" /><area shape="rect" coords="182,18,220,30" href="javascript:alert('安圭拉')" /><area shape="rect" coords="183,50,215,66" href="javascript:alert('中美洲')" /><area shape="rect" coords="182,89,222,102" href="javascript:alert('南美洲')" /></map>
</div>
<div class="relative">
<img src="/imgblog/20121009/1648463012.jpg" border="0" usemap="#Map"  />
<map name="Map" id="Map"><area shape="rect" coords="109,81,153,94" href="javascript:alert('北美洲')" /></map>
</div>
<div class="relative">
<img src="/imgblog/20121009/1648376137.jpg" border="0" usemap="#Map2" />
<map name="Map2" id="Map2"><area shape="rect" coords="15,75,45,87" href="javascript:alert('英国')" /><area shape="rect" coords="108,62,144,80" href="javascript:alert('欧洲')" /><area shape="rect" coords="15,104,53,117" href="javascript:alert('葡萄牙')" /><area shape="rect" coords="160,106,189,119" href="javascript:alert('亚洲')" /></map>
</div>
<div style="clear:both"><input type="button" value="随机隐藏一张图片,热点还是对的" onclick="hide()"/></div>
<script type="text/javascript">
var dvs=[];
function RND(min,max){if(max<min){var tmp=min;min=max;max=tmp;}return Math.floor(Math.random()*(max-min+1)+min);}
function hide(){var rnd=RND(0,dvs.length-1);for(var i=0,j=dvs.length;i<j;i++)dvs[i].style.display=rnd==i?'none':'block';}
window.onload=function(){var tdvs=document.getElementsByTagName('div');for(var i=0,j=tdvs.length;i<j;i++)if(tdvs[i].className=='relative')dvs[dvs.length]=tdvs[i];}
</script>

 


原创文章,转载请注明出处:多张图片热点如何添加

评论(0)Web开发网
阅读(342)喜欢(0)不喜欢(0)HTML/CSS兼容/XML