将滑动功能添加到响应页面的现有侧边菜单中

Adding swipe functionality to existing side menu for rsesponsive page

本文关键字:菜单 功能 添加 响应      更新时间:2023-09-26

这不是另一个问题的重复。这是我自己的侧菜单自定义代码。
我编写了一个自定义侧菜单,单击元素时将显示该菜单。这是代码:
jQuery Code:

$(document).ready(function () {

    //stick in the fixed 100% height behind the navbar but don't wrap it
    $('#slide-nav.navbar .container').append($('<div id="navbar-height-col"></div>'));
    // Enter your ids or classes
    var toggler = '.navbar-toggle';
    var pagewrapper = '#page-content';
    var navigationwrapper = '.navbar-header';
    var menuwidth = '100%'; // the menu inside the slide menu itself
    var slidewidth = '80%';
    var menuneg = '-100%';
    var slideneg = '-80%';

    $("#slide-nav").on("click", toggler, function (e) {
        var selected = $(this).hasClass('slide-active');
        $('#slidemenu').stop().animate({
            left: selected ? menuneg : '0px'
        });
        $('#navbar-height-col').stop().animate({
            left: selected ? slideneg : '0px'
        });
        $(pagewrapper).stop().animate({
            left: selected ? '0px' : slidewidth
        });
        $(navigationwrapper).stop().animate({
            left: selected ? '0px' : slidewidth
        });

        $(this).toggleClass('slide-active', !selected);
        $('#slidemenu').toggleClass('slide-active');

        $('#page-content, .navbar, body, .navbar-header').toggleClass('slide-active');

    });

    var selected = '#slidemenu, #page-content, body, .navbar, .navbar-header';

    $(window).on("resize", function () {
        if ($(window).width() > 767 && $('.navbar-toggle').is(':hidden')) {
            $(selected).removeClass('slide-active');
        }

    });
});  

HTML code:

<div class="navbar navbar-inverse navbar-fixed-top" role="navigation" id="slide-nav">
        <div class="container">
            <div class="navbar-header cust">
                <a class="navbar-toggle"> 
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </a>
            <a class="navbar-brand" id="title" href="#"><center><span id="junos"> JUNOS </span><span id = "genius">GENIUS</span></center> </a>
            </div>
        <div id="slidemenu">
          <!-- <form class="navbar-form navbar-right" role="form">
            <div class="form-group">
              <input type="search" placeholder="search" class="form-control">
            </div>
            <button type="submit" class="btn btn-primary">Search</button>
          </form> -->
    <ul class="nav navbar-nav">
     <li class="active"><a href="#">Home</a></li>
     <li><a href="#about">About</a></li>
     <li><a href="#contact">Contact</a></li>
    </ul>
   </div>
  </div>
 </div>  

此代码在单击元素时绝对完美。我想在上面的代码中添加滑动(拖动)功能。我可以使用哪种方法?实现它最顺利的方法是什么?

尝试使用名为TouchSwipe的jQuery插件