最佳Javascript下拉菜单?
我正在寻找一个下拉式JavaScript菜单 它应该是IE6和Firefox2中最简单、最优雅的可访问菜单。 如果它在一个没有编号的列表(最佳Javascript下拉菜单?,javascript,menu,dhtml,Javascript,Menu,Dhtml,我正在寻找一个下拉式JavaScript菜单 它应该是IE6和Firefox2中最简单、最优雅的可访问菜单。 如果它在一个没有编号的列表(ul)上工作,这样用户就可以在不支持JavaScript的情况下使用该页面了 您推荐哪一种,在哪里可以找到这样一个菜单的代码?我认为jquery superfish菜单非常棒,而且使用起来非常简单: Javascript不是必需的,它基于简单有效的ul无序列表 我会使用如上所述的仅css的解决方案,这样即使禁用javascript,用户仍然可以获得下拉菜单
ul
)上工作,这样用户就可以在不支持JavaScript的情况下使用该页面了
您推荐哪一种,在哪里可以找到这样一个菜单的代码?我认为jquery superfish菜单非常棒,而且使用起来非常简单: Javascript不是必需的,它基于简单有效的ul无序列表
我会使用如上所述的仅css的解决方案,这样即使禁用javascript,用户仍然可以获得下拉菜单。我喜欢stickman的,这取决于您希望它的行为方式。下面是我使用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;
};
但我要指出的是,这些都是可怕的可用性。最好使用一个列表,一次向人们显示所有选项,最好不要在选择后导航和/或要求按不同的按钮到达他们想要的地方
我认为你最好不要使用以上(我写了代码!)对于纯粹主义者:
绝对没有JavaScript,只使用纯css,并且可以与几乎所有浏览器一起使用
稍微调整一下就可以让它们看起来和花哨的菜单(jQuery等)一样好
但是我们也使用了jQuery,YUI!等等。是的!如果这是JavaScript功能菜单的一个要求,那么它内置了很好的可访问性选项
--
安德鲁我用这个:
有纵向和横向两种风格。我一直是(毫不掩饰地)雅虎的粉丝!用户界面库。这很容易实现。伟大的跨浏览器支持
您可能也可以从其他流行的Javascript框架(如jQuery)中获得类似的功能。这很好,但我讨厌网页上的下拉菜单,它们可以在不点击的情况下执行操作;当我没有采取任何公开的行动时,这会导致内容变得模糊。这和superfish有什么关系?它不这样做。我发现这个很漂亮而且很容易配置。最棒的是它可以在IE6、IE7和Firefox中使用(我还没有测试过其他浏览器)。为什么所有的JavaScript问题都能得到JQuery的答案?因为JavaScript、HTML DOM和CSS是一堆过时的“标准”,他们必须围绕整个语言构建一个包装器,并显示实际可用的层次结构。只需使用Flash/AS3即可。这是使用YUI 3执行下拉菜单的一个示例:
$("ul.dropdown_nav").ddnav();