javascript - 简单的 JavaScript 问题 - 列表未正确扩展

标签 javascript css list

CSS:

#divMainMenu ul {
    list-style-type: none;
    padding: 5px 0;
    height:400px;
}
#divMainMenu li {
    height: 17px;
    margin: 3px 0;
    padding: 14px 2px;
    border: 1px solid #eee7cb;
    background: url(../../Images/50pTransparent-20x20.png) repeat;
}
#divMainMenu li ul{
    display: none;
}

html 和脚本:

<script type="text/javascript">
function Show(pObj)
{
pObj = document.getElementById(pObj).id;
if (document.getElementById(pObj).style.display=='none')
    document.getElementById(pObj).style.display='block';
else
    document.getElementById(pObj).style.display='none';
}
</script>
<div id="divSidePanel">
    <div id="divMainMenu">
        <ul>
            <li onclick="Show('Buyers')">Buyers
                <ul id="Buyers" style="display:none;">
                    <li>Search</li>
                    <li>Submit request</li>
                    <li>Send message to owner</li>
                </ul>
            </li>
            <li>Sellers</li>
            <li>Contact Us</li>
        </ul>
    </div>
</div>

问题: 当我点击文本 Buyers 时,它会显示子/嵌套列表。但是,其他元素不会为嵌套列表腾出空间。因此,嵌套列表覆盖了主列表的空间。

这是我的代码的问题还是它的标准工作方式?有没有办法让其他元素“下推”为嵌套元素让路?

谢谢!

最佳答案

您需要在 CSS 中使用 min-height: 而不是 height:。如果您了解 jQuery,.hide() 和 .show() 函数会工作得更好。

关于javascript - 简单的 JavaScript 问题 - 列表未正确扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10553143/

相关文章:

javascript - Safari 中的 Polymer 组件调度事件

javascript - Function.length 与 this.length 不同。为什么?

jquery - 伪元素并监听过渡到结束

javascript - 使用 d3.legend 进行强制布局上的交互式图例

html - 模态内的 href 链接不起作用

javascript - 中心动态高度/宽度图像到固定高度/宽度 div

python - 使用嵌套的 'for' 语句加速 Python 'if' 循环

list - Scala 中用于列表减法的 "--"运算符

c# - 将列添加到另一个表并作为列表返回 C#

php - AJAX 安全问题