悬停不需要 JavaScript。制作一个元素作为工具提示并将其放置在下拉按钮上方。然后为两者创建一个父 <div>。您的 HTML 应如下所示:
<div id="container">
<div id="button">...</div>
<div id="tooltip">...</div>
</div>
完成后,您可以使用 CSS 定位工具提示并在必要时显示它。
#container {
/* All child elements should be positioned relative to this one. */
position: relative;
}
#container #tooltip {
/* Hide by default. */
display: none;
/* Place the tooltip 2px above the button. */
position: absolute;
bottom: 2px;
right: 0px;
}
#container #button:hover + #tooltip {
/* Show it when someone's hovering over the button. */
display: block;
}
要显示下拉框,您可能需要 JavaScript。向容器中添加另一个元素:
<div id="container">
<div id="button">...</div>
<div id="tooltip">...</div>
<ul id="selection">
<li>Something</li>
<li>Something Else</li>
<li>A Third Thing</li>
</ul>
</div>
使用position: absolute 随意放置它并使用display: none 隐藏它。然后在我们点击按钮时显示:
$('#button').click(function() {
$('#selection').show();
});
然后你可以让你的子项目做任何他们喜欢的事情,只要它们也隐藏#selection。
$('#selection li').click(function() {
// do something
$('#selection').hide();
});
最后,您想在悬停时更改背景和文本颜色。这很容易:
#selection li {
background-color: #ccc;
color: black;
}
#selection li:hover {
background-color: black;
color: white;
}
这在 IE 6 或(我相信)7 中无法完美运行 - 您需要为此研究替代解决方案。使用 JavaScript 或查看IE7.js and IE8.js。