如何在鼠标悬停时叠加div / box?

时间:2010-10-06 16:30:29

标签: javascript css html overlay

我有一个链接,当用户将鼠标悬停在它上面时,它应该在链接下显示一个方框(div)。该框应覆盖其下的任何内容。我怎么能用css或javascript来做呢?

3 个答案:

答案 0 :(得分:11)

你有一个隐藏的绝对定位的div,以及链接的子节点。然后,当您将鼠标悬停在链接上时,您应该取消隐藏div。我无法提供完整的CSS,我没有测试过,但这应该让你开始。你必须要考虑定位和尺寸。

<a href="#" class="special">Somewhere<div class="desc">This is hidden.</div></a>

a.special { position:relative; }
a.special div.desc { background-color:white; display:none; position:absolute; z-index:100; }
a.special:hover div.desc { display:block; }

这将是纯CSS方式。

答案 1 :(得分:6)

我创建了一个sample here。您可以从那里进行修改以满足您的需求。

<div class="hover">Hover here</div>
<div class="overlay" style="visibility:hidden">
<img src="http://www.google.com/images/logos/ps_logo2.png" alt="google" />
</div>​


$(document).ready(function()
{
  $("div.hover").mouseover(function ()
  {
    $(this).css('cursor', 'pointer');
    $("div.overlay").css('visibility','visible');
  });
  $("div.hover").mouseout(function ()
  {
    $(this).css('cursor', 'default');
    $("div.overlay").css('visibility','hidden');
  });
});

答案 2 :(得分:0)

$("#id").mouseover(function(){
   $("a[rel='#petrol']").overlay().load();
});
$("#id").mouseout(function(){
   $("a[rel='#petrol']").overlay().close();
});