jquery - 从小屏转到全屏后导航菜单消失

标签 jquery css responsive-design hamburger-menu

我创建了一个移动响应式菜单,我在其中替换了图标并显示/隐藏菜单。

首先 主导航菜单运行良好,我调整了屏幕大小并移至移动版本。 然后 我点击了汉堡包菜单,效果很好。 我再次放大窗口时,主导航菜单没有显示。 所以问题是,当我从 767 像素大小移动到全屏时,我的主导航菜单消失了。 我使用了 ionic 图标,其中 ion-navicon-round 是汉堡菜单,ion-close-round 是大 x 图标。

这是用图片描述的情况。 第一:全屏 First: In the full screen

这是响应式菜单。 This is the responsive menu

导航菜单消失了。 Navigation menu disappeared

这是我的导航菜单的 HTML 代码。

<!-- HTML code -->
<ul class="main-nav js--main-nav">
    <li><a href="#features">Food delivery</a></li>
    <li><a href="#works">How it works</a></li>
    <li><a href="#cities">Our cities</a></li>
    <li><a href="#plans">Sign up</a></li>
 </ul>

<a class="mobile-nav-icon js--nav-icon"><i class="ion-navicon-round"></i></a>

这是我用来显示和隐藏响应式菜单的 Jquery 代码。

/* Mobile Navigation*/

$('.js--nav-icon').click(function() {

    var nav = $('.js-main-nav');
    var icon = $('.js--nav-icon i');
    nav.slideToggle(200);
    if(icon.hasClass('ion-navicon-round')){
        icon.addClass('ion-close-round');
        icon.removeClass('ion-navicon-round');
        $(".js--main-nav").slideDown();

    }
    else {
        icon.removeClass('ion-close-round');
        icon.addClass('ion-navicon-round');
        $(".js--main-nav").slideUp();
    }
});

var width = $(window).width();
$(window).resize(function(){
   if(width >= 768){
       $(".js--main-nav").slideDown();
   } 
});

最佳答案

您的 js 代码在我的测试环境中运行。检查在调整功能时添加一些自定义类,并通过检查元素查看 html。如果将您的自定义类添加到 html,那么您可能需要一些 css 修复。

关于jquery - 从小屏转到全屏后导航菜单消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50560746/

相关文章:

javascript - 脚本只工作一次

css - 仅使用 CSS3 创建类似 Javascript 的 ScrollTo 效果?

jquery - 如何使 Nivo slider 响应式

javascript - 错误/bug PHP SIMPLE HTML DOM 解析器

javascript - Bootstrap 日期时间选择器日历未打开 Angular 2

javascript - 为什么我的 Web 应用程序在多次 GET 请求后崩溃?

javascript - 我的 React 应用程序将我的图像的 URL 呈现为 url ('undefined' );

html - 如何使用 bootstrap 或纯 css 制作响应式断点内容

css - Bootstrap 中的最小宽度和初始比例

jquery - 在 Jquery 中调用 WCF 服务抛出错误