如何在下拉菜单中添加箭头
我有一个简单的 jquery 下拉菜单。但问题是如果列表有子菜单,我怎样才能像其他常用菜单一样互相放置箭头或只是“+”字符。
function Mx_menu(){
$(".menu ul").css({display: "none"}); // Opera Fix
$(".menu li").hover(function(){
$(this).find('ul:first').css({visibility: "visible",display: "none"}).show(400);
},function(){
$(this).find('ul:first').css({visibility: "hidden"});
});
}
$(document).ready(function(){
Mx_menu();
});
CSS 文件在这里:
.menu, .menu ul { margin:0; padding:0; list-style-type:none; list-style-position:outside; position:relative; }
.menu a { color:#a6a6a6; display:block; padding:6px 10px; }
.menu li { float:left; position:relative; width:200px; }
.menu ul { position:absolute; display:none; width:200px; top:0; left:200px; }
.menu li ul a { width:200px; height:auto; float:left; }
.menu ul ul { top:auto; }
.menu li ul ul { left:200px; margin:0; }
.menu li:hover ul ul, .menu li:hover ul ul ul, .menu li:hover ul ul ul ul { display:none; }
.menu li:hover ul, .menu li li:hover ul, .menu li li li:hover ul, .menu li li li li:hover ul { display:block; }
I have a working simple jquery drop-down menu. But problem is how can I put an arrow or just '+' character each other like other usual menus if list has sub-menu, of course.
function Mx_menu(){
$(".menu ul").css({display: "none"}); // Opera Fix
$(".menu li").hover(function(){
$(this).find('ul:first').css({visibility: "visible",display: "none"}).show(400);
},function(){
$(this).find('ul:first').css({visibility: "hidden"});
});
}
$(document).ready(function(){
Mx_menu();
});
And CSS file here:
.menu, .menu ul { margin:0; padding:0; list-style-type:none; list-style-position:outside; position:relative; }
.menu a { color:#a6a6a6; display:block; padding:6px 10px; }
.menu li { float:left; position:relative; width:200px; }
.menu ul { position:absolute; display:none; width:200px; top:0; left:200px; }
.menu li ul a { width:200px; height:auto; float:left; }
.menu ul ul { top:auto; }
.menu li ul ul { left:200px; margin:0; }
.menu li:hover ul ul, .menu li:hover ul ul ul, .menu li:hover ul ul ul ul { display:none; }
.menu li:hover ul, .menu li li:hover ul, .menu li li li:hover ul, .menu li li li li:hover ul { display:block; }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
最终我找到了一个解决方案,所以它被称为: prev():
最终的jquery代码在这里:
Eventually I found a solution, so it's called: prev():
Final jquery code here:
您可以执行类似这样的简单操作,在
之前添加
+
(或任何 ASCII 字符)。 /code> 使用.before()
,如下所示:您可以在这里尝试一下
You could do something simple like this to prepend a
+
(or whatever ASCII character) just before the child<ul>
that's inside the<li>
using.before()
, like this:You can give it a try here
请注意,IE6 中缺乏对 li 伪选择器的支持。
Note the lack of support for the pseudo-selector of li, in IE6.