超级下拉列表

时间:2009-04-06 06:47:40

标签: ruby-on-rails css drop-down-menu

我想像Rails指南引用的那样(http://guides.rubyonrails.org/)或BaseCamp.CAn中使用的那些,使用Rails表单助手完成一个巨大的下拉?

3 个答案:

答案 0 :(得分:6)

不是自动化,不是。 “mega下拉列表”实际上只是一个DIV元素,看起来好像是“指南索引”打开了。您所要做的就是定位DIV,使其看起来正确。

在您提供的网站中,这是通过将DIV嵌套在包含“Guide Index”元素的元素内部来完成的。像这样:

<outerelement style="position: relative; top: 0px; left: 0px">
  <a href="#">Guide Index</a>
  <div id="index" style="position: absolute; top: 0px; left: 0px; display: none">
     <!-- all the items in the guide index -->
  </div>
</outerelement>

我不记得如何在Rails中使用原型帮助程序生成这个,但是当单击“指南索引”链接时,您只需要一些Javascript代码来执行此操作:

 Element.toggle('index');

可能类似于:

 <%=link_to_function("Guide Index", "Element.toggle('index')")%>

所以你在.rb文件中最终得到的是:

<outerelement style="position: relative; top: 0px; left: 0px">
  <%=link_to_function("Guide Index", "Element.toggle('index')")%>
  <div id="index" style="position: absolute; top: 0px; left: 0px; display: none">
     <!-- all the items in the guide index -->
  </div>
</outerelement>

答案 1 :(得分:0)

37Signals(Rails的创建者)发布了一篇关于大型下拉导航的文章。本文主要关注可用性。

答案 2 :(得分:0)

内置表单助手用于创建标准HTML表单元素。这些“大型下拉列表”不是其中的一部分,必须手动创建,使用HTML,希望是一些CSS和Javascript。

我不知道任何插件或类似的东西会自动创建这个,但我相信你会找到一些东西。或者,你当然可以写自己的。