【问题标题】:Drop down menu toggle下拉菜单切换
【发布时间】:2014-04-14 08:45:23
【问题描述】:

我正在制作一个响应式网站。当页面为

我需要帮助找出一种方法来一次切换一个子菜单。 Wordpress 为每个子菜单生成相同的 .sub-menu 类名。

我正在使用此代码来切换菜单,但它们都是同时进行的。 您需要将浏览器设置为小于 830 像素才能看到我在说什么。

$(".about").click(function() {
    $(".sub-menu").slideToggle("fast");         
    return false;
}); //.click

$(".projects").click(function() {
    $(".sub-menu").slideToggle("fast");         
    return false;
}); //.click

感谢您的帮助。

http://www.mackeyshotrods.com/store/?page_id=2

【问题讨论】:

标签: javascript jquery css wordpress


【解决方案1】:
$(document).ready(function () {
    $("#na ul li").click(function () {
         $(this).siblings().find('ul').slideUp(400);
            $(this).find('ul').slideToggle('fast');         
    });
});

演示:

http://jsfiddle.net/7P3Df/1/

【讨论】:

  • 这可行,但是当点击链接时,它会将我带到关于页面,而不是下拉列表并停留在当前页面上。你有解决办法吗?
  • $("#menu-menu-1 li").click(function () { $(this).siblings().find('ul.sub-menu').slideUp('fast'); $(this).find('ul.sub-menu').slideToggle('fast'); return false; });
  • 上面的代码正在做我想做的事情,但链接现在不起作用。我需要关于链接来切换不链接到关于类别的链接。子菜单链接需要链接到帖子。
  • 当我删除返回 false 时;所有链接都有效,但我不希望 about 或 projects 链接在单击时打开新页面。
  • @ijustchill,如果您在代码中设置 return false,则页面不会回发。你能解释清楚你想要什么吗?
【解决方案2】:

当您调用$(".sub-menu").slideToggle("fast"); 时,它适用于所有具有sub-menu 类的元素。要将其仅应用于 current 元素,请在 $(this) 上调用您的方法:

     $(".about").click(function() {
        $(this).slideToggle("fast");         
        return false;
    }); //.click

    $(".projects").click(function() {
        $(this).slideToggle("fast");         
        return false;
    });

【讨论】:

    【解决方案3】:

    您可以使用以下代码,而不是处理单个点击

    $(".menu-item").click(function(){ $(".sub-menu", $this).slideToggle("fast"); };

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-17
      • 2013-02-23
      • 1970-01-01
      • 1970-01-01
      • 2020-10-14
      • 2017-06-16
      相关资源
      最近更新 更多