Javascript Image Overlay无法在IE中运行

时间:2013-07-12 21:00:43

标签: javascript html css internet-explorer

我有一个网站页面,我试图让辅助图像在鼠标悬停或点击时覆盖主图像。图像叠加操作由主图像上的热点触发。该代码适用于Chrome,Safari,Firefox和Opera,但不适用于IE?有没有人知道为IE纠正它的方法?

网页:http://www.neurobalancingcenter.com

样式代码:

<style type="text/css">
.imgoverlay 
{
position:absolute;
margin: 10px 0 0 487px;
}
</style>

JavaScript代码:

<script type="text/javascript">
$(document).ready(function () {
    $('.jkimagelarge').hover(
       function () {
           $('.pic').prepend('<div class="imgoverlay"><img src="' + $(this).attr('pic') + '" /></div>');
       },
       function () {
           $('.imgoverlay').each(function () { $(this).hide(); });
       }
    );
});

</script>

正文代码:

<div class="pic">
<map id="FPMap0" name="FPMap0">
<area coords="508, 227, 738, 252" href="#" pic="/images/what_is_bwo.jpg" shape="rect" class="jkimagelarge" />
<area coords="508, 252, 726, 279" href="#" pic="/images/why_bwo.jpg" shape="rect" class="jkimagelarge" />
<area coords="508, 279, 667, 300" href="#" pic="/images/how_bwo.jpg" shape="rect" class="jkimagelarge" />
</map>
<img src="images/homepage_a_focused_mind.jpg" alt="" title="" usemap="#FPMap0" />
</div>

1 个答案:

答案 0 :(得分:0)

现在这不是一块银盘,而是一些值得思考的东西,你应该能够用这种技术解决你的问题:

http://jsbin.com/aqobuj/1/edit

a {
  display:block;
  border:solid;
}
div {
  border:solid;
  height:100px;
  display:none;
}
a.one:hover ~ div#one {
  display:block;
}
a.two:hover ~ div#two {
  display:block;
}
a.three:hover ~ div#three {
  display:block;
}

使用的技术:

  • hover css pseudoselector
  • display:block / none(css的hide / show)
  • tilde / sibling selector(在这种情况下,给我下一个带有类x的div)