切换下拉列表:定义起始位置

时间:2014-04-04 12:51:12

标签: jquery css menu toggle

您好我有一个jquery下拉列表:

$('div a').hover(function() {
    $('.submenu').not(this).children('li').slideUp("slow");
    $(this).children('li').slideToggle("slow");
});

现在它已折叠,当我将鼠标悬停在菜单项上时会向上滑动。 如何让说明位置上升,当我盘旋下滑时。

此外,只有悬停菜单项下方的子菜单才会崩溃。现在,当我将鼠标悬停在一个上面时,所有子菜单都会崩溃。我知道使用" div a"对于这可能不是很聪明,但我真的不能给每个toggle-menu-item一个不同的id。那么有没有办法告诉jquery只能让徘徊的孩子们垮掉" div a" ???

我是一个总菜鸟!

http://jsfiddle.net/CBKZK/

2 个答案:

答案 0 :(得分:0)

第一:

$(document).ready(function(){
$(this).children('li').slideToggle("slow"); // seting initial state
$('div a').hover(function() {
   $('.submenu').not(this).children('li').slideUp("slow");
   $(this).children('li').slideToggle("slow");
});
});

我不太明白你的第二点也许你可以提供一些HTML。

答案 1 :(得分:0)

像这样使用

$('.dropdown-menu').click(function() {
    $('.dropdown-menu').not(this).children('ul').slideUp("slow");
    $(this).children('ul').slideToggle("slow");
$(".thisismobile").find("a").next().show();
});
$(".thisismobile").find("a").hover(
  function() {
    $( this ).next().slideDown();
  }, function() {
    $( this ).next().slideUp();  }
);

Demo

修改

$('.dropdown-menu').click(function() {
    $('.dropdown-menu').not(this).children('ul').slideUp("slow");
    $(this).children('ul').slideToggle("slow");
$(".thisismobile").find("a").next().show();
});



$(".thisismobile").find("a").hover(function(){
  $( this ).next().slideDown();
});


 $(".submenu").mouseleave(function(){
  $( this ).slideUp();
});

Updated Fiddle