调用JS自定义菜单设计

时间:2018-06-02 作者:Paulmcf1987

我设计了表单的自定义菜单:

<nav class="content">
    <ul class="exo-menu">
        <li><a class="active menhome" href="/"><i class="fa fa-home"></i> Home</a></li>
        <li class="mega-drop-down"><a href="#" onclick="return false"><i class="fa"></i> Brands</a>
            <div id="wrapper" class="animated fadeIn mega-menu hidden">
                <div class="mega-menu-wrap">
                    <div class="row">
                        <div class="container-fluid">
                        <!-- Tab panes -->
                            <div class="tab-content">
                                <div class="tab-pane active" id="Featured">
                                    <ul class="nav-list list-inline list-inline2">
                                        <li><a data-filter=".89" href="/brand/allmax-nutrition/"><img src="https://i0.wp.com/www.mysite.co.uk/wp-content/themes/mysite/images/image.png" alt="image"><span></span></a></li>
                                    </ul>
                                </div>
                                <div class="tab-pane" id="AtoF">
                                    <ul class="nav-list list-inline col-md-2">                                
                                        <li><a href="/brand/brand1/"><span>BRAND 1</span></a></li>
                                    </ul>
                                </div>
                                <div class="tab-pane" id="GtoN">
                                    <ul class="nav-list list-inline col-md-2">
                                        <li><a href="/brand/brand2/"><span>BRAND 2E</span></a></li>
                                    </ul>
                                </div>
                                <div class="tab-pane" id="OtoW">
                                    <ul class="nav-list list-inline col-md-2">                                                                            
                                        <li><a href="/brand/brand3/"><span>BRAND 3</span></a></li>
                                    </ul>                          
                                </div>
                            </div>
                        </div>
                        <!-- Nav tabs -->
                        <ul class="nav nav-tabs" role="tablist">   
                            <li   class="active change"><a href="#Featured" role="tab" data-toggle="tab">Featured</a></li>
                            <li class="change"><a href="#AtoF" role="tab" data-toggle="tab"># - F</a></li>
                            <li class="change"><a href="#GtoN" role="tab" data-toggle="tab">G - N</a></li>
                            <li class="change"><a href="#OtoW" role="tab" data-toggle="tab">O - Z</a></li>
                        </ul>
                    </div>
                </div>  
            </div>
        </li>
        <li class="mega-drop-down mega-drop-down-2"><a href="#" onclick="return false"><i class="fa"></i> CATEGORIES</a>
            <div id="wrapper2" class="animated fadeIn mega-menu mega-menu2 hidden">
                <div class="mega-menu-wrap">
                    <div class="row">
                        <div class="container-fluid">
                        <!-- Tab panes -->
                            <div class="tab-content">
                                <div class="tab-pane active">
                                    <ul class="nav-list list-inline col-lg-12">
                                    </ul>
                                </div>    
                            </div>
                        </div>
                    </div>
                </div>  
            </div>
        </li>               
    </ul>
</nav>
我在下面介绍了一些JS,这些JS增加了它的功能:

<script>
    $(function () {
            $(\'.toggle-menu\').click(function (){
            $(\'.exo-menu\').toggleClass(\'display\');

            });
        });
        jQuery(document).ready( function ( $ ){
            $(".change>a").hover( function () { 
                $(this)[0].click();
            }, 
            function () {
            /* code for mouseout */
            });
        }); 

        var acc = document.getElementsByClassName("mega-drop-down, drop-down");
        var i;
        for (i = 0; i < acc.length; i++) {
            acc[i].onclick = function() {
    this.classList.toggle("active");
    var panel = this.nextElementSibling;
    if (panel.style.maxHeight){
        panel.style.maxHeight = null;
    } 
    else {
        panel.style.maxHeight = panel.scrollHeight + "px";
    }    
}
}
</script>
我想采取的JS和作出的JS文件,我可以链接到这个菜单。

谁能告诉我怎么做?

1 个回复
SO网友:coolpasta

当然可以。

function loadMenuScripts()
{
        wp_enqueue_script( \'main\', get_template_directory_uri() . \'js/main.js\', array( \'jquery\' ), \'\', false );
}

add_action( \'wp_enqueue_scripts\', \'loadMenuScripts\' );
此外,如果需要将其加载到页脚中,请继续并将操作更改为:

add_action( \'wp_footer\', \'loadMenuScripts\' );
而且,这似乎是用户的一个选择。

排队前,请检查您的菜单是否正在使用:

if( class_exists( \'mega_menu` ) ) {
    add_action( \'wp_footer\', \'loadMenuScripts\' ); // Or whatever.
}
因此,如果没有必要,就不要将其排队。

事实上,我建议您为此功能创建一个类,然后根据是否启用此超级菜单来决定是否将其资产排队。

结束

相关推荐

让用户选择每个页面jQuery错误显示的帖子数

我希望用户能够选择每页显示10、20或30篇文章。我找到了这个Let user change posts per page 但它不起作用。我发现this 并实现了它,但我得到了一个jquery错误。Uncaught TypeError: e.indexOf is not a function这是我的代码:(我正在使用Bootstrap 4)<?php if( isset($_GET[\'pageVal\']) ) { $showposts = esc_sql($