我有一个带有两个子菜单的菜单,当用户点击相应的菜单标题时,通过滑动来设置动画。该函数由以下代码提供:
$('ul#main_menu > li:has( ul.sub-menu )').click(function()
{
var $sublist = jQuery(this).find('ul:first');
$sublist.slideToggle('fast');
return false;
});
现在,我想在用户点击我设置的范围(id
open_artists
时打开第一个子菜单。我一直在尝试修改以上代码来实现这一点。这样可行,但打开了两个子菜单。我只想打开第一个子菜单。
function openArtists () {
var $sublist = jQuery('ul#main_menu > li:has( ul.sub-menu )').find('ul:first');
$sublist.slideToggle('fast');
return false;
}
$('#open_artists').click(openArtists);
我试图将其修改为:
function openArtists () {
var $sublist = jQuery('ul#main_menu > li:has( ul.sub-menu )').find('ul:first');
var $firstsublist = jQuery('$sublist').first();
$firstsublist.slideToggle('fast');
return false;
}
$('#open_artists').click(openArtists);
但这不起作用。我也没有尝试过其他任何事情。
答案 0 :(得分:2)
您应首先选择 ul ,然后找到子列表
function openArtists () {
var $sublist = jQuery('ul#main_menu > li:has(ul.sub-menu)').find('ul').eq(0);
$sublist.slideToggle('fast');
return false;
}