html - 创建一个三列导航菜单。在允许独立滚动的有效结构方面遇到麻烦

标签 html jquery-plugins css

正如标题所说,我正在开发一个三级列导航菜单,类似于 OS X Finder 的列 View 。我的第一种方法本质上是 this 的最小版本(工作演示文件 here )。问题是 s 不允许作为 s 的 child 。一切正常,但无法验证。如果您去掉 s,各个列将不会滚动(即使您将 query-columnnav-1.0.js 中的第 245 行更改为查找 )。

我发现的唯一其他示例是在 Apple 的 dashboard widgets 上网站,但看起来他们只有三个任意的 s,他们根据点击的内容填充内容,这似乎不是解决这个问题的最佳方式。

我以前没有使用过自定义滚动条,但我在想可能会有一个允许通过 javascript 定位或其他方式滚动的滚动条。

值得注意的是:该网站是为我大学的学生准备的,在该网站运行一个学期后,我们从 IE(8.0 和 9.0)中获得了两次点击,其余的都来自最新的浏览器。正因为如此,我们可以允许 CSS3 和 HTML5,只要它们有优雅的回退。如果浏览器严重失败,我们只会告诉他们升级,这对我们来说不会有太大的损失。

tl;dr:我需要关于如何构造列导航以使每一列都可以独立滚动的想法。以前的尝试没有验证。不要使用 IE 或旧版浏览器。谢谢!

编辑:我现在正在查看 jScrollPane。这可能就是我想要的。不过,仍在寻求建议。

Edit2:我没有澄清这一点,HTML 是以这种方式生成的:

<ul class="all departments">
    <li class="first department">
        <ul class="all courses in department">
            <li class="first course">
                <ul class="all sections on course">
                  <li class="first section"></li>
                </ul>
            </li>
        </ul>
    </li>
</ul>

最佳答案

如果我理解您要正确执行的操作,您只需使用一些非常简单的 CSS 即可使其正常工作。一个容器 div,其中包含三个较小的 div,它们向左浮动并强制滚动。像这样:

div.columncont
{
 height: 500px;
 width: 600px;
}
div.column
{
 width: 200px;
 float: left;
 height: 100%;
 overflow-y: scroll;
}

只需调整适合您要执行的操作的大小即可。我做了一个例子 jsFiddle

此外,我没有评论权限,所以这是我让您知道您指向 jquery-column-navigation 的链接已损坏的唯一方式。

关于html - 创建一个三列导航菜单。在允许独立滚动的有效结构方面遇到麻烦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8796052/

相关文章:

html - 居中并使 block 引用元素响应

jquery - Fancybox内容大小问题

javascript - 在选项卡/窗口处于 View 中 n 秒后触发 jQuery 函数

javascript - 如何在 colspan td 中与 td 的 th 宽度相同

html - 将打印区域限制为一个 div

html - 全宽水平导航和基础框架

javascript - 过滤 - 多项选择 jquery javascript

css - 字体为粗体时更改为大写并更改字体大小

javascript - 使用 jQuery 缩放与背景覆盖成比例的元素

reactjs - 添加 jquery 插件在 React 应用程序中不起作用; TypeError : this. $el.chosen 不是函数