【发布时间】:2009-08-06 23:19:31
【问题描述】:
我有一个嵌套列表,当父节点展开时列出子节点。通过单击文本左侧的图像来展开父节点。
不幸的是,它在页面外立即展开。我希望在内容离开页面时出现滚动条。
当我设置“溢出:自动”时,滚动条永远不会弹出,它只是从页面展开并移除列表项左侧的展开图像。
这是示例 .html:
<body>
<div id="theDiv" style="clear: left;">
<ul id="theList">
<li id="1" class="parent">
<img class="expanded" align="absmiddle" src="./tree_expanded.gif"/>
Parent1
<ul style="display: block;">
<li id="10">
.....
</ul>
</li>
....
</ul>
</div>
</body>
这是示例 .js:
function expand() {
if(this.className == "expand") {
jQuery(this.parentNode).children("ul").show();
this.className = "expanded";
this.src = "/_images/tree_expanded.gif";
}
else {
jQuery("ul", this.parentNode).hide();
this.className = "expand";
this.src = "/_images/tree_unexpanded.gif";
}
}
这是示例 .css:
#theList {
margin-top: 0;
}
#theList, #theList ul {
list-style: none;
margin: 5px 20px;
padding: 0;
}
#theList .expand, #theList .expanded {
margin-left: -20px;
cursor: pointer;
}
#theList img {
margin-right: 5px;
}
#theList ul {
display: none;
}
#theList li {
white-space: nowrap;
margin-bottom: 4px;
}
【问题讨论】:
-
我没有提及我尝试过的事情。第一个是将 div 的高度设置为特定的东西和 overlfow-y: auto 和 scroll。结果还是一样
-
当我说它有完全相同的结果时,我很仓促。当我添加一个高度并滚动到 div 和列表时,我确实得到了一个滚动条。但是展开的图像消失了。
标签: php javascript css scrollbar