jquery - 制作一棵树, parent 和路径突出显示

标签 jquery html css

我想制作一些花哨的菜单,以树的形式显示,我们可以很容易地看到每个页面与其父页面之间的关系。

离工作不远了,但我需要你的帮助和想法。

这是我所做的: http://jsfiddle.net/bXCHn/6/

例如,如果您将鼠标悬停在“第 4 - 3 - 2 页”,它将突出显示“第 4 - 3 页”和“第 4 页”。 这是基本的 HTML 和 CSS,如果您删除 jQuery 脚本,它仍然可以工作。

jQuery 允许我们添加一个类,该类将突出显示树中每个先前元素的路径(li 边界)。它不会考虑第一级导航:

$(this).prevAll('li:not(.first-lvl-item)').addClass('hover-prev-item');

现在保持与上面相同的例子。 您会看到从“第 4 页”向下的第一行太过分了(实际上它使用了整个 li 元素)。我希望它停在“第 4 - 3 页”之前...

我不知道我是否必须更改我的所有结构,或者我是否应该以其他方式处理它。我尝试了很多东西,但没有任何效果......

感谢您的帮助!

最佳答案

我创建了一个 fiddle ,如果没有 Javascript,突出显示将无法工作。不太好,但它有效。

CSS3 选项 nth-of-type 仅受支持,如图所示,此解决方案也是如此:

 Feature        Chrome  Firefox (Gecko) Internet Explorer   Opera   Safari
 Basic support  1.0     3.5 (1.9.1)     9.0                 9.5     3.1

我对设计进行了返工,并根据我放在前面的跨度数量来计算关卡:) http://jsfiddle.net/bXCHn/10/

还有什么事要做?重构我使用nth-of-type选择器的方式,尝试用javascript搞定。目前它只支持您在 CSS 文件中定义的深度。

关于jquery - 制作一棵树, parent 和路径突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15903286/

相关文章:

html - Bootstrap 按钮样式 margin-left :-1px when click outside that area

list - CSS:使用带有背景图像的列表的水平菜单?

css - 链接已换行时设置伪元素的样式?

javascript - 在 jQuery 中处理多个事件

javascript - jQuery ajax 无法正常工作

java - 小程序异常 : java. lang.ClassNotFoundException

python - html 模板中的 Django for 循环不显示

css - 如何扩展 sass/compass 库

javascript - 如何在购物车中提交之前检查有效的整数数量

javascript - 动态添加 href 到链接