Rails jquery下拉菜单用于多个菜单
Rails jquery dropdown menu for multiple menus
我对jquery很陌生,在它(和javascript)方面很笨。经过几个小时的搜索,我找到了一个非常简单的方法来创建下拉菜单。它很有效,但它只适用于一个父项,我需要能够用它创建多个下拉菜单,所以我希望有人能给我指明正确的方向来编辑代码,使其工作。
这是我的:
jquery代码:
$(document).ready(function () {
$('#dropdown').hover(
function () {
//change the background of parent menu
$('#dropdown li a.parent').addClass('hover');
//display the submenu
$('#dropdown ul.children').show();
},
function () {
//change the background of parent menu
$('#dropdown li a.parent').removeClass('hover');
//display the submenu
$('#dropdown ul.children').hide();
}
);
});
菜单标记:
<ul id="dropdown">
<li><a href="#" class="parent">Searches</a>
<ul class="children">
<li><%= link_to 'search1', path1 %></li>
<li><%= link_to 'search2', path2 %></li>
...
</ul>
</li>
<li><a href="#" class="parent">UPCs</a>
<ul class="children">
<li><%= link_to 'search1', path1 %></li>
<li><%= link_to 'search2', path2 %></li>
</ul>
</li>
</ul> <!-- id dropdown end tag -->
现在,将鼠标悬停在任意一个元素(搜索或UPC)上,当然会生成一个包含所有子项的菜单。这个想法是能够在每个父母的领导下产生孩子。
谢谢。
PS如果有人有一个简单,更好的方法(也许是一个真正有效的插件),我也很高兴听到它。我真的需要一些简单的东西,我不想为此学习javascript(这也是我最初离开PHP进入Rails的原因之一)。
我意识到一个简单的方法是制作2个(或更多)不同的<ul id="dropdown2">
等列表,但我不知道如何将正确的列表传递给jquery函数,也不知道该如何处理只为#dropdown
编写的CSS。
试试这个:
$(document).ready(function () {
$('.dropdown li').hover(
function () {
$(this).addClass('hover');
$('> ul.children', $(this)).show();
},
function () {
$(this).removeClass('hover');
$('> ul.children', $(this)).hide();
}
);
});
它将适用于类为dropdown
的每个元素。
但您可以使用CSS
而不使用jQuery
:
.dropdown li ul {
display: none;
}
.dropdown li:hover > ul {
display: block;
}
但它在旧版本的Internet Explorer 中不起作用
相关文章:
- 如何将CSS(特别是填充/边距)应用于select下拉菜单的选项或optgroup
- 在angularjs UI网格列中选择下拉菜单不适用于外部editcellTemplate
- 用于PHP查询的Ajax菜单
- 通过单击主菜单外部关闭子菜单'不适用于IE,但适用于Firefox&铬
- 向下滚动时隐藏菜单,向上滚动时显示,适用于Chrome,不适用于Safari(手机)
- 特定的JavaScript函数,用于将CSS样式表与下拉菜单交换
- onchange不适用于下拉菜单
- CoffeeScript不适用于Rails4应用程序中的下拉菜单
- 垂直菜单展开不适用于动态内容
- 如何分配数据切换=“;下拉菜单”;用于wordpress中的父链接
- HTML下拉菜单's重定向(使用JS)不适用于移动设备,但在PC上运行良好
- 自定义右键单击UI上下文菜单(复制、粘贴、剪切)用于整个应用程序(所有网页)跨所有浏览器而非单个网页
- 用于关闭和打开的Jquery事件选择下拉菜单,而不是在更改时
- 下拉菜单,用于选择国家/地区,然后选择州
- 使用数组中的嵌套对象在AngularJS中切换用于动态选择菜单的数据模型
- AngularJS下拉菜单适用于Firefox,不适用于Chrome和Safari
- 用于导航的 Javascript 在某些子菜单上工作,但不能在其他子菜单上工作
- Rails jquery下拉菜单用于多个菜单
- 将普通桌面菜单转换为选择选项菜单(用于移动版本)
- 使用Rails 4,需要帮助来制作一个更好的侧边栏菜单用于导航