【发布时间】:2016-10-09 22:23:49
【问题描述】:
我有一个#hidden div,当#HoverMe 悬停时出现,将其取消悬停并再次隐藏。 #hidden 有其子 div,其作用类似于下拉列表。
#hidden使用position: absolute;。如何强制#hidden div 出现在#HowerMe 旁边,并让它的子div(在#hidden div 内)出现在下面?
现在的工作方式:
------------
| #HoverMe |
------------
---------
| #hidden |
| --------|
| car.name|
|---------|
| car.name|
---------
我想要什么
------------ ---------
| #HoverMe | | #hidden |
------------ | --------|
| car.name|
|---------|
| car.name|
---------
我的代码:
我使用我的#HoverMe-div 来显示#hidden-div,其中包含我想要显示的内容列表。
<div style="position: relative">
<div id="HoverMe" >
This owner own @Html.DisplayFor(model => model.TotCar) cars in total
</div>
<div id="hidden" style="position: absolute; display: none; background-color: black"> //<------- hidden
@foreach (var car in Model.Car) {
<div>@car.Name</div>
}
</div>
</div>
<script>
var hoverEle = $("#HoverMe");
var popupEle = $("#hidden");
function hidePopup() {
$("#hidden").hide();
}
$('#HoverMe, #hidden').hover(function () {
$("#hidden").stop(true).show();
}, function () {
$("#hidden").stop(true).delay(2000).fadeOut();
});
【问题讨论】:
-
你必须使用
position:absolute吗?有很多方法可以在不使用绝对定位的情况下实现您想要的。 -
@JonP 如果我不使用
absolute,那么它会干扰其他 div 的位置。到目前为止,我只能通过absolute设法避免这种情况,不知道其他方式。 -
还有哪些 div?您希望“汽车列表”显示在其他内容之上吗?
-
this fiddle 是您想要的吗? (设置
left和top属性以相对于包含<div>定位它) -
我确实在您的previous questions 之一中解释了这一点:)
标签: jquery css asp.net-mvc