【问题标题】:Tree Menu Won't Scroll树形菜单不会滚动
【发布时间】: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


【解决方案1】:

首先,给容器div设置一个确定的宽度,让它知道什么时候开始滚动。接下来,将其设置为 overflow-x:scroll;或类似的东西。它应该工作:)

【讨论】:

    【解决方案2】:

    好的,我走在正确的轨道上,但不够坚持。 CSS 真的让我抓狂。我需要同时设置 div 和列表高度以使其滚动。我正在尝试其中一个,而不是两个。

    我就是这样的n00b。

    【讨论】:

    • 现在我有一个新问题。 Firefox 工作正常,但 ie 停止显示图像,所以它不会展开
    猜你喜欢
    • 2013-06-21
    • 1970-01-01
    • 2018-02-17
    • 2011-02-24
    • 1970-01-01
    • 1970-01-01
    • 2014-09-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多