【发布时间】:2010-09-11 05:17:21
【问题描述】:
我正在寻找一个下拉 JavaScript 菜单。
它应该是在 IE6 和 Firefox 2 中工作的最简单和最优雅的可访问菜单。
如果它可以在未编号列表 (ul) 上工作,这样用户就可以在没有 JavaScript 支持的情况下使用该页面。
你推荐哪一个?我在哪里可以找到这样一个菜单的代码?
【问题讨论】:
标签: javascript menu dhtml
我正在寻找一个下拉 JavaScript 菜单。
它应该是在 IE6 和 Firefox 2 中工作的最简单和最优雅的可访问菜单。
如果它可以在未编号列表 (ul) 上工作,这样用户就可以在没有 JavaScript 支持的情况下使用该页面。
你推荐哪一个?我在哪里可以找到这样一个菜单的代码?
【问题讨论】:
标签: javascript menu dhtml
我认为 jquery superfish 菜单非常棒且易于使用:
http://users.tpg.com.au/j_birch/plugins/superfish/
Javascript 不需要,它基于简单的有效 ul 无序列表。
【讨论】:
我会使用像上面这样的纯 CSS 解决方案,因此即使禁用了 javascript,用户仍然可以获得下拉菜单。
【讨论】:
这是我使用 jQuery 的答案:
jQuery.fn.ddnav = function() {
this.wrap("");
this.each(function() {
var sel = document.createElement('select');
jQuery(this).find("li.label, li a").each(function() {
jQuery("<option>").val(this.href ? this.href : '').html(jQuery(this).html()).appendTo(sel);
});
jQuery(this).hide().after(sel);
});
this.parent().find("select").after("<input type=\"button\" value=\"Go\">");
var callback = function(button) {
var url = jQuery(button.target).parent("div").find("select").val();
if(url.length)
window.open(url, "_self")
};
this.parent().find("input[type='button']").click(callback);
this.parent().find("select").change(callback);
return this;
};
然后在你的 onready 处理程序中:
$("ul.dropdown_nav").ddnav();
但我要指出,这些对可用性来说很糟糕。最好使用列表并一次向人们显示所有选项,并且最好不要在选择后导航和/或需要按下不同的按钮才能到达他们想要的位置。
我认为你最好不要使用上面的(我写了代码!)
【讨论】:
对于纯粹主义者: http://www.grc.com/menudemo.htm 绝对没有 JavaScript,只有纯 CSS - 几乎适用于所有浏览器。
稍加调整就可以使它们看起来和精美的菜单(jQuery 等)一样好
但我们也使用了 jQuery,YUI!和别的。优!如果这是 JavaScript 驱动的菜单的要求,则内置了出色的可访问性选项。
-- 安德鲁
【讨论】:
【讨论】:
我喜欢火柴人的accordion,这取决于您希望它的表现如何。
【讨论】:
我一直是 Yahoo! 的(毫不掩饰的)粉丝!用户界面库。 They have a nice menubar system 这很容易实现。出色的跨浏览器支持。
您可能也可以从其他流行的 Javascript 框架(例如 jQuery)中获得类似的东西。
【讨论】: