我有许多 DIV 目前以椭圆形布置。每个 div 代表一个“服务”并相应地进行 ID,所有设置都设置了绝对位置。
我想要做的是鼠标悬停在一个 div 上,我想让一个带有相关信息的新 DIV 出现在中间。这应该发生在每个“服务”上,因此每个“描述性”div 将被隐藏,直到鼠标悬停,但都出现在同一个空间中。
该网站是 www.faa.net.au 的主页。
如何让这个新的描述性 DIV 在鼠标悬停时出现并在鼠标悬停时隐藏?
我有许多 DIV 目前以椭圆形布置。每个 div 代表一个“服务”并相应地进行 ID,所有设置都设置了绝对位置。
我想要做的是鼠标悬停在一个 div 上,我想让一个带有相关信息的新 DIV 出现在中间。这应该发生在每个“服务”上,因此每个“描述性”div 将被隐藏,直到鼠标悬停,但都出现在同一个空间中。
该网站是 www.faa.net.au 的主页。
如何让这个新的描述性 DIV 在鼠标悬停时出现并在鼠标悬停时隐藏?
您可以做的是使用 CSS 将所有这些 div 放置在中间的那个位置。它们可以堆叠,z-index 并不重要,因为你一次只能看到一个。然后在你的 CSS 中用“display:none”隐藏它们。
然后使用 jQuery 的 .hover() 方法在鼠标悬停时显示适当的 div
$("#idOftheDivYouHoverOn").hover(function (e) {
//This funciton defines what happens on mouse-in or hover.
$("#idOfTheDefaultCenterDiv").hide();
$("#idOfTheDivYouWantedToShow").show();
}, function (e) {
//This function defines what happens on mouse-out or when the hover is over.
$("#idOfTheDefaultCenterDiv").show();
$("#idOfTheDivYouWantedToShow").hide();
});
您必须为每个悬停在上面的人执行此操作。有一种“更聪明”的方式,但要解释它将是一个很长的答案。
也就是说,如果您想使用 JavaScript/jQuery 而不是仅使用类似于您在其他答案中看到的纯 CSS来执行此操作。使用此方法,您可以添加淡入淡出效果 - 看看 jQuery 的悬停 - http://api.jquery.com/hover/
编辑:这是一个工作示例:http: //jsfiddle.net/6dMDS/
希望有帮助。
另一个论坛的朋友刚刚发布了另一种方法。请注意,它只是 CSS3,因此某些浏览器(肯定是较旧的 IE)将不支持它。
<div class="container">
<img class="one" src="http://placehold.it/100x100" />
<img class="two" src="http://placehold.it/100x100" /><br>
<img class="three" src="http://placehold.it/100x100" />
<img class="four" src="http://placehold.it/100x100" /><br>
<img class="five" src="http://placehold.it/100x100" />
<img class="six" src="http://placehold.it/100x100" />
<div class="hidden-one">hidden-one</div>
<div class="hidden-two">hidden-two</div>
<div class="hidden-three">hidden-three</div>
<div class="hidden-four">hidden-four</div>
<div class="hidden-five">hidden-five</div>
<div class="hidden-six">hidden-six</div>
</div>
* {margin: 0; padding: 0;}
.container {width: 400px;}
.one:hover ~ .hidden-one,
.two:hover ~ .hidden-two,
.three:hover ~ .hidden-three,
.four:hover ~ .hidden-four,
.five:hover ~ .hidden-five,
.six:hover ~ .hidden-six
{display: block;}
.hidden-one,
.hidden-two,
.hidden-three,
.hidden-four,
.hidden-five,
.hidden-six
{
width: 200px;
height: 300px;
border: 1px solid red;
display:none;
float: right;
position: relative;
top:-305px;
left: 10px;
}
所以如果我做对了,你就会得到一个“服务”DIV 和一个“描述性”DIV。尝试一些 CSS 来实现它。
HTML:
<div id="service"></div>
<div id="descriptive"></div>
和 CSS:
#descriptive
{
visibility:hidden;
}
#service:hover #descriptive
{
visibility:visible;
}
基本上,这将使 DIV在悬停id="descriptive"
时显示。id="service"