鼠标上显示div的图像映射

时间:2013-01-12 23:50:24

标签: jquery imagemap onmouseover

因此,我尝试在图片上创建多个图像地图,然后根据您悬停在其上的图像,将从图片下方的div中提取特定信息,并将其填充到悬停在图片上方。< / p>

<div class="runner_div">
  <img src="http://cooleycollective.com/test/slrc/wp-content/uploads/2013/01/Em_full.jpg" width="680" height="705" usemap="#runner_wear" /></a></p>
<map name="runner_wear">
  <area shape="poly" coords="264,18,237,33,243,72,276,83,328,79,311,29," href="#hat" alt="hat"  />
  <area shape="rect" coords="259,69,331,99" href="#" alt="glasses" />

  </map>
</div>

<div class="gear" id=hat>
<h2>Type of hat</h2>
  <p>I love this hat.I wore it when I was running from a bear in the zoo.</p>
</div>
<div class="gear" id="glasses">
  <p>These glasses were hand picked by a Sherpa from Kentucy!</p>
</div>  

我希望div保持在下面,以便不被隐藏,但是当我将鼠标悬停在它引用的图像上时,还要具有可以恢复的功能。我不确定是否需要使用jQuery,甚至不知道如何创建该代码。

我觉得代码会做类似的事情:onmouse悬停此imgmap然后显示此imagemap引用的div。我不知道代码语言会是什么样子。谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

我认为你想要弹出窗口。

Please see a demo I've prepared for you using your markup

这是工作jQuery

var $popup = $('.popup');
$('area').on({
  mouseover : function(e){
    var $this = $(this),
        $obj = $('#'+$this.prop('alt'));

    $popup.text($obj.text()).css({
      top: e.pageY + 25,
      left: e.pageX - ($popup.width()/2),
    }).show();
  },
  mouseout: function(){
    var $this = $(this),
        $obj = $('#'+$this.prop('alt'));    

    $popup.hide(0).empty();
  }
});