我正在尝试设计一种使用 jQuery 管理三层菜单的方法。菜单中的每一层都是一个水平列表,随后的层显示在前一层的下方。菜单中的所有级别都有position:"fixed"
,因此它们在 HTML 树中的相对位置在很大程度上是不相关的。
然而,每一层在任何时候的垂直位置取决于有多少层是可见的,并且它们在给定区域内总是看起来垂直居中(它们定义的位置彼此不相关)。
为了说明,可能的配置如下:
________________________________________________________________
| | | |
| | | Level A visible |
| | Level A visible | |
| Level A visible | | Level B visible |
| | Level B or C visible | |
| | | Level C visible |
|___________________|________________________|___________________|
尽管上图包含三个部分,但菜单可能处于基本上四种状态:
- 可见的水平
- A & B 可见
- 空调
A、B 和 C
_______________________ | | | | A | A + B | |___________|___________| | | | | A + C | A + B + C | |___________|___________|
我正在努力解决的是决定如何控制状态的逻辑。我以前没有使用过 OOP,但感觉它可能是正确的方法——尽管我不太确定我将如何开始。
我不指望任何人用勺子喂我代码,但是一些关于“正确”方法的指针会很棒。有没有人有这种问题的经验?