【问题标题】:toggle dropdown: define starting position切换下拉菜单:定义起始位置
【发布时间】:2014-04-04 12:51:12
【问题描述】:

您好,我有一个 jquery 下拉菜单:

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

现在它已折叠,当我将鼠标悬停在菜单项上时,它会向上滑动。 我怎样才能使陈述位置向上,当我悬停时向下滑动。

另外,只有悬停的菜单项下方的子菜单才能折叠。现在,当我将鼠标悬停在一个上时,所有子菜单都会崩溃。我知道为此使用“div a”可能不是很聪明,但我真的不能给每个切换菜单项一个不同的 id。那么有没有办法告诉jquery只折叠悬停的“div a”的孩子???

我是个菜鸟!

http://jsfiddle.net/CBKZK/

【问题讨论】:

标签: jquery css menu toggle


【解决方案1】:

这样使用

$('.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

【讨论】:

  • @user3332274 这是你想要的吗?
  • 哪个小提琴?最后一个?
【解决方案2】:

第一:

$(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。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2012-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-17
  • 1970-01-01
  • 2022-01-24
相关资源
最近更新 更多