【问题标题】:Bootstrap 3: Mobile nav opens on desktop, but not on iPhone?Bootstrap 3:移动导航在桌面上打开,但不是在 iPhone 上?
【发布时间】:2017-03-26 16:31:43
【问题描述】:

我为几个朋友创建了一个网站,并且即将完成:

http://hopetherapy.info

挑战: 当我单击移动导航汉堡菜单时,它会在 Mac 上的 FireFox、Safari、Chrome 的桌面上打开(使窗口变窄以进行测试)。不过,在 iPhone 6 OS 10.1.1 上,选择汉堡菜单不会导致任何操作(尚未在 Android 上测试)。

我确实重新安排了这个设计的菜单,使其右对齐并与另一个 WordPress 主题合并,这可能导致了一些我还没有看到的问题。

结果菜单 HTML:

<header id="nav">
  <div class="navbar navbar-inverse navbar-fixed-top" data-spy="affix" data-offset-top="10">
    <div class="container">

      <a href="#" class="navbar-brand"><img alt="Hope Heals Counseling" src="/wp-content/themes/bootstrap-hope-heals/img/hope-heals-counseling2.png"></a>

      <a class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </a>

      <div class="navbar-collapse collapse">
        <ul id="menu-main-menu" class="nav pull-right navbar-nav"><li id="menu-item-27" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-6 current_page_item menu-item-27 active active"><a href="http://hopetherapy.info/">Home</a></li>
          <li id="menu-item-25" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-25"><a href="http://hopetherapy.info/answers/">Answers</a></li>
          <li id="menu-item-24" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-24"><a href="http://hopetherapy.info/blog/">Blog</a></li>
          <li id="menu-item-23" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-23"><a href="http://hopetherapy.info/contact/">Contact</a></li>
          <li id="menu-item-28" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-28"><a href="tel:16164227787">Call: +1.616.422.7787</a></li>
        </ul> 
      </div>  

    </div>
  </div>
</header>

对可能导致汉堡菜单无法在 iPhone 上打开的任何想法?

【问题讨论】:

  • 能否请您发布您的元标记?
  • 当然。这是完整的模板链接:christopherstevens.cc/hopeheals/web2d 原来我的原始设计模板在合并到 WordPress 之前也有同样的问题。链接的更简单的代码可能有助于更快地排除故障。
  • 嗯,视口元标记在那里。您的网站也可以在 Android Note 6 上正常运行。我最近了解到 iPhone 5 在某些情况下出现的一个错误:当应用不透明度时,它不会显示出来。我不知道这是否可能是原因。相反会出现什么?正常的导航会留在屏幕上吗?
  • 感谢@Falk 的注释和 Android 测试。在我的 iPhone 上,当我按下汉堡菜单图标时没有任何反应。按钮本身甚至不会改变颜色,好像菜单图标/链接选择本身是不可能的。它是静态的。接下来让我玩一下不透明度....
  • 另一个想法是更新你的 jQuery 并确保它被导入。当 JS 不理解 $ 代表 jQuery 时,控制台日志错误似乎会发生。由于 Bootstrap 需要可能与问题相关的 jQuery(同时,如果是这样,您应该会在所有移动设备上看到问题)。您可以做的另一件事是:前往 Apple 论坛并在那里询问。由于这似乎奇怪的是特定于版本,他们可能有更好的主意。

标签: javascript css twitter-bootstrap twitter-bootstrap-3


【解决方案1】:

有人已经为我回答了这个问题,在重新搜索后发现。我错过了汉堡菜单上的 href="#"。 Full details here.

【讨论】:

    【解决方案2】:

    似乎有一个控制台错误可能会影响 javascript。这是产生错误的代码:

        jQuery(document).ready(function() {
    
         //scroll to next section on home page
        $("#goscroll").click(function(e) { 
         var offset = 50;
         e.preventDefault(); 
         var dest = $("#services");
    
           $('html,body').animate({ scrollTop: window.innerHeight - offset }, 2500); 
          });
    
    });
    

    错误表明 $ 未定义。定义 $ 改变这一行

        jQuery(document).ready(function()
    

    对此:

        jQuery(document).ready(function($)
    

    这应该会清除错误,然后检查导航是否正常工作。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-14
    • 1970-01-01
    • 2020-11-28
    • 2021-04-20
    • 2018-05-09
    • 2021-06-21
    • 2021-04-09
    • 1970-01-01
    相关资源
    最近更新 更多