【问题标题】:How to make the dropdown menu to expand when I hover it悬停时如何使下拉菜单展开
【发布时间】:2016-04-28 21:43:07
【问题描述】:

我在 localhost 中自定义了一个 Wordpress 主题,我的问题是必须单击下拉菜单才能展开/折叠,这是一个使用此主题的站点:http://mor10.com(您可以测试导航菜单以查看我是什么谈论)。 我需要在悬停和聚焦时使下拉菜单展开/折叠,但我真的是 jquery 的菜鸟,这里是下拉菜单的代码:

// Add menu items with submenus to aria-haspopup="true".
container.find( '.menu-item-has-children' ).attr( 'aria-haspopup', 'true' );
container.find( '.dropdown-toggle' ).click( function( e ) {
        var _this            = $( this ),
            screenReaderSpan = _this.find( '.screen-reader-text' );

        e.preventDefault();
        _this.toggleClass( 'toggled-on' );
        _this.next( '.children, .sub-menu' ).toggleClass( 'toggled-on' );

        // jscs:disable
        _this.attr( 'aria-expanded', _this.attr( 'aria-expanded' ) ===     'false' ? 'true' : 'false' );
        // jscs:enable
        screenReaderSpan.text( screenReaderSpan.text() === screenReaderText.expand ? screenReaderText.collapse : screenReaderText.expand );
    } );
}
initMainNavigation( $( '.main-navigation' ) );

【问题讨论】:

    标签: jquery wordpress drop-down-menu


    【解决方案1】:

    如果您检查 chrome 中的元素,您会看到当您单击下拉菜单时,按钮类中添加了一个类切换,因此您可能想在您的 js 文件中尝试这个 sn-p。

    $("button.dropdown-toggle").hover(function(){
            $(this).toggleClass("toggle-on");
        });
    

    并检查它是否有效

    希望对你有帮助

    保重并快乐编码

    【讨论】:

    • 不幸的是,这并没有改变任何东西。
    • 当我在 container.find( '.dropdown-toggle' ).click( function( e ) 中将 click 替换为 hover 时,子菜单在我悬停父菜单箭头时显示,但在我停止时消失将其悬停并尝试选择子菜单
    • 哦,其实我现在看到了,但是带有类子菜单的 ul 也有一个切换类
    • 谢谢,我应该添加什么代码?我真的是 Jquery 的菜鸟。
    • 我认为我们必须为悬停选择整个父元素,您可能想用 menu-item-has-children 替换 button.dropdown-toggle 并在 $(this) 之后添加另一行.toggleClass("toggle-on");这将是 $(ul.sub-menu).toggleClass("toggled-on");
    猜你喜欢
    • 2017-10-22
    • 2021-10-07
    • 2020-07-15
    • 1970-01-01
    • 2014-01-05
    • 1970-01-01
    • 1970-01-01
    • 2021-04-28
    • 1970-01-01
    相关资源
    最近更新 更多