【发布时间】:2013-07-22 23:47:30
【问题描述】:
我的情况是这样的:我有 2 个部分重叠的 div,每个 div 都有悬停效果: Div 1 - 包含一个条形图,其中的条形对悬停有影响。 Div 2 - 是一个跨越屏幕底部 20% 的区域,当用户将鼠标悬停在它上面时(例如靠近屏幕底部),一个控件会从底部向上滑动,以允许他们将全局属性更改为表格。
我希望浏览器独立检测悬停在任一对象上,但发生的情况是顶部的任何对象都检测到悬停,而另一个则没有。我发现了一堆几乎相关的问题,但似乎没有任何答案。
这是一个原型,所以只能在一个浏览器(最好是 Chrome)中工作的 hacky 答案/答案是可以的。使用 CSS、jQuery 或 JS 的解决方案也都可以。
编辑:添加了一个我认为可以说明我的问题的小提琴:http://jsfiddle.net/Gkgrx/
因此,如果您将鼠标悬停在“表格”的底部(悬停时变为绿色的大红色方块),当我点击导致表格控件向上滑动的区域(确实如此)时,表格将失去其悬停状态- 我希望它仍能检测到悬停。
显然我需要在这里剪切和粘贴代码:
CSS:
.controlhover {
position: absolute;
bottom: 0px;
left: 0px;
right: 0px;
height: 150px;
z-index: 1;
}
.tablecontrol {
position:absolute;
bottom: 0px;
left: 200px;
right: 200px;
background-color: #242D2F;
opacity: .9;
height: 70px;
color: #FFFFFF;
}
.table {
position: absolute;
top: 0px;
left: 50px;
right: 50px;
height: 500px;
background-color: red;
}
.table:hover {
background-color: green;
}
HTML:
<div class="table">This is a table that does stuff on hover</div>
<div class="controlhover"></div>
<div class="tablecontrol">This is the sliding control element</div>
JS:
$('.tablecontrol').slideUp();
$('.controlhover').hover(function(){
$('.tablecontrol').slideDown()
}, function() {
$('.tablecontrol').slideUp();
});
谢谢
【问题讨论】:
-
查看我的更新答案。