我正在寻找一个下拉 JavaScript 菜单。
它应该是 IE6 和 Firefox 2 中最简单、最优雅的可访问菜单。如果它在无编号列表 ( ul
) 上工作会很好,这样用户就可以在没有 JavaScript 支持的情况下使用该页面。
你推荐哪一个?我在哪里可以找到这样一个菜单的代码?
我正在寻找一个下拉 JavaScript 菜单。
它应该是 IE6 和 Firefox 2 中最简单、最优雅的可访问菜单。如果它在无编号列表 ( ul
) 上工作会很好,这样用户就可以在没有 JavaScript 支持的情况下使用该页面。
你推荐哪一个?我在哪里可以找到这样一个菜单的代码?
我认为 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;
};
然后在你准备好的处理程序中:
$("ul.dropdown_nav").ddnav();
但我要指出,这些对可用性来说很糟糕。最好使用列表并一次向人们显示所有选项,最好不要在选择后导航和/或需要按下不同的按钮才能到达他们想要的位置。
我认为你最好不要使用上面的(我写了代码!)
对于纯粹主义者:http: //www.grc.com/menudemo.htm 绝对没有 JavaScript,只有纯 CSS - 并且几乎适用于所有浏览器。
稍加调整就可以使它们看起来和精美的菜单(jQuery 等)一样好
但我们也使用了 jQuery、YUI!和别的。优!如果这是 JavaScript 驱动的菜单的要求,则内置了很好的可访问性选项。
- 安德鲁
我喜欢火柴人的手风琴,这取决于您希望它的行为方式可能会产生很好的效果。
我一直是雅虎的(毫不掩饰的)粉丝!用户界面库。他们有一个很好的菜单栏系统,很容易实现。出色的跨浏览器支持。
您也可以从其他流行的 Javascript 框架(例如 jQuery)中获得类似的东西。