将下方的弹出式菜单'redItem','blueItem'和'greenItem'设置为'none'后,无法再将其显示为可见。当鼠标悬停在嵌套列表中较高的节点上时,我使用CSS选择器重新使它们可见。无法使列表项目显示为> CSS选择器
下面的代码:
<ul class="popups" style="vertical-align: bottom; padding: 0px; margin: 0px;">
<li style="width: 165px"><a id="topmostBox" href="#">One_high-up_item</a>
<ul class="popups">
<li><a href="#">First-lower-item</a>
<ul class="popups">
<li name="redItem" ><a href="#" onclick="setTopColorAndVis(this)">Red</a></li>
<li name="blueItem"><a href="#" onclick="setTopColorAndVis(this)">Blue</a></li>
<li name="greenItem"><a href="#" onclick="setTopColorAndVis(this)">Green</a></li>
</ul>
</li>
</ul>
</li>
</ul>
.popups:hover > li {
display: block;
}
.popups {
background-color: white;
font-family: sans-serif;
font-size: 13.5px;
list-style: none;
position: relative;
border: 1px solid lightgray;
border-width: .05em;
border-top-color: rgb(165,165,165);
line-height: 1.2em;
display: inline-table;
}
function setTopColorAndVis(theNestedPopupAnchor)
{
var theColorName = theNestedPopupAnchor.innerHTML;
var topMenuBox = document.getElementById('topmostBox');
topMenuBox.innerHTML = theColorName ;
theNestedPopupAnchor.parentNode.style.display = "none";
}
什么情况是这样的:
1)我选择的颜色 '红'(第1列表项)
2)我呼吁setTopColorAndVis(这使得弹出消失(因为用户选择了一个项目,颜色“红色”,现在弹出窗口现在不需要)
3)但是当我稍后将鼠标悬停在“冷杉t-lower-item“列表项,具有包含'redItem','greenItem','blueItem'的ul的子li将会出现而不是。
所以在这里我的经验是,我能够成功地隐藏名为“redItem”,“blueItem”和“greenItem”列表中的项目 - 但是当我悬停在“第一下部项目”,尽管我的CSS代码:
.popups:hover > li {
display: block;
}
'redItem','greenItem'和'blueItem'不会重新出现。
我在这里错过了什么?
我相信你隐藏的项目的父。所以你显示的子项目不会显示任何东西,因为父项是隐藏的。我不确定这是否正确,但似乎是这样 –
请提供更多的代码或一个实例,以便我们可以帮助您更多 –
@ZachSaucier,这还没有部署,我必须得到上述工作之前它活着。上面的代码是从一个页面中提取出来的,但现在只需要一个非常简单的页面就可以实现上述功能。 – CFHcoder