【问题标题】:Remove (Click) Dropdown Functionality From Menu从菜单中删除(单击)下拉功能
【发布时间】:2014-12-09 02:53:54
【问题描述】:

我正在为客户定制一个主题,并试图找到一种方法来删除主导航链接的下拉功能。当您单击顶级链接时,菜单会关闭(或打开)。我不确定他们为什么将其内置到主题中,因为我认为这对用户来说非常混乱,更不用说在移动设备上无法正常工作了。我真的需要在悬停时打开菜单,而不是在点击时打开。

我相信这是通过结合使用 CSS3 和 Javascript (https://github.com/viljamis/responsive-nav.js) 来完成的。通过编辑 responsive-nav.js 可能有一个简单的解决方案。但我不是 javascript 编码器。任何帮助将不胜感激。

网站在这里:http://www.gatewayfitnesscenter.com

我相信控制这个的代码:http://gatewayfitnesscenter.com/wp-content/themes/westand/scripts/frontend/responsive-nav.js

【问题讨论】:

    标签: javascript jquery wordpress menu onclick


    【解决方案1】:

    在您主题的scripts/frontend/functions.js 中,找到这段代码(“@9​​87654322@”之后的两行):

    jQuery("#menus  li.sub-icon > a") .click(function(){
        jQuery(this).next().toggle(200);
        return false;
    });
    

    这是点击处理程序,所以继续删除它,你应该很好!

    【讨论】:

    • 你太棒了!非常感谢您在这么晚的时候插话。那工作得很好。 :)
    【解决方案2】:

    好的,事实证明这将是一个相当简单的 CSS 调整来获得你想要的。打开“westland”主题的 style.css 文件。现在,搜索.navigation ul li:hover > ul {。之后的第一行是visibility: visible;。删除该行或将其注释掉并保存文件。如果您真的想避免在浏览器中进行不必要的工作,请删除/评论其中的整个块。在注释掉之后,我已经包含了下面的整个块。

    .navigation ul li:hover > ul {
        /*
        visibility: visible;
        opacity: 1;
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        -o-transform: translateY(0);
        transform: translateY(0);
        */
    }
    

    这应该可以防止将鼠标悬停在这些菜单上显示子菜单。

    【讨论】:

    • 感谢 ventaur 的快速回答。不幸的是,它没有成功。我想它在其他地方被调用。无论哪种方式,您都会为跳跃和提供答案而摇滚!
    • 我想知道 translateY(0) 是什么。我以前从未遇到过或使用过它。我会试试这个,让你知道。非常感谢!
    • 其实就是去掉了悬停效果。我想要做的是摆脱点击效果。当有人将鼠标悬停在菜单上时,我希望他们找到子菜单。但是当他们点击顶级菜单时,我不希望子菜单消失(就像现在一样)。希望这是有道理的。
    • translateY(0) 告诉现代浏览器 (CSS3) 将整个子菜单移动到 0 的 y 坐标。它开始向下 20 像素,所以当您将鼠标悬停在菜单上时,子菜单将从 20 像素向下移动到 0。这使得子菜单向上滑动的效果非常轻微,同时变得可见。
    • 太棒了,我今晚确实学到了一些新东西。我现在将不得不玩弄它并将其添加到我的武器库中。 :)
    猜你喜欢
    • 2014-02-22
    • 2017-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-23
    • 2018-07-07
    • 1970-01-01
    相关资源
    最近更新 更多