JQuery插件响应式菜单

时间:2014-01-05 08:01:19

标签: javascript jquery html5 plugins drop-down-menu

我对jquery很新,我正在努力学习如何在网站中有效地使用它。我正在研究我在网上找到的响应式导航插件。我的插件问题是下拉菜单有效,但当它进入移动设备时,激活下拉菜单的箭头不起作用。现在,我不知道我是不是正确启动脚本或者jquery脚本有什么问题。任何人都可以帮助,也许可以解释为什么事情有效或无效。谢谢!

<nav class="nav">
    <ul class="nav-list">
        <li class="nav-item">
            <a href="#">HOME</a>
        </li>
        <li class="nav-item">
            <a href="#">PORTFOLIO</a>
            <ul class="nav-submenu">
                <li class="nav-submenu-item">
                    <a href="#">STUDIO</a>
                </li>
                <li class="nav-submenu-item">
                    <a href="#">PORTRAITS</a>
                </li>
                <li class="nav-submenu-item">
                    <a href="#">SPORTS</a>
                </li>
                <li class="nav-submenu-item">
                    <a href="#">WEDDING</a>
                </li>
        <li class="nav-submenu-item">
                    <a href="#">ADVENTURE</a>
                </li>
            </ul>
        </li>
        <li class="nav-item">
            <a href="#">ABOUT</a>
        </li>
        <li class="nav-item">
            <a href="#">NEWS</a>
        </li>
        <li class="nav-item">
            <a href="#">CONTACT</a>
        </li>
    </ul>
</nav>

JQUERY

;(function($){

// DOM ready
$(function() {

    // Append the mobile icon nav
    $('.nav').append($('<div class="nav-mobile"></div>'));

    // Add a <span> to every .nav-item that has a <ul> inside
    $('.nav-item').has('ul').prepend('<span class="nav-click"><i class="nav-arrow"></i></span>');

    // Click to reveal the nav
    $('.nav-mobile').click(function(){
        $('.nav-list').toggle();
    });

    // Dynamic binding to on 'click'
    $('.nav-list').on('click', '.nav-click', function(){

        // Toggle the nested nav
        $(this).siblings('.nav-submenu').toggle();

        // Toggle the arrow using CSS3 transforms
        $(this).children('.nav-arrow').toggleClass('nav-rotate');

    });

});

})(jQuery的);

1 个答案:

答案 0 :(得分:0)

我真的不太了解响应式导航插件。但我们需要以不同方式处理触摸事件。您可以在http://touchpunch.furf.com中包含用于触摸事件的库。

如果您只查看上下文菜单,可以尝试使用https://github.com/mar10/jquery-ui-contextmenu。它有办法处理触摸设备输入。