【问题标题】:Off-canvas nav shows two menus画布外导航显示两个菜单
【发布时间】:2016-03-25 16:29:49
【问题描述】:

我正在使用the example from Foundation building block section 制作“带有画布外导航的顶部栏”。

这是我的代码,

$(document).foundation();
<link href="https://cdnjs.cloudflare.com/ajax/libs/foundation/6.1.2/foundation.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/foundation/6.1.2/foundation.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="off-canvas-wrapper">
  <div class="off-canvas-wrapper-inner" data-off-canvas-wrapper>

    <!-- off-canvas title bar for 'small' screen -->
    <div class="title-bar" data-responsive-toggle="widemenu" data-hide-for="medium">
      <div class="title-bar-left">
        <button class="menu-icon" type="button" data-toggle="offCanvasLeft"></button>
        <span class="title-bar-title">Menu</span>
      </div>

    </div>

    <!-- off-canvas left menu -->
    <div class="off-canvas position-left" id="offCanvasLeft" data-off-canvas>
      <ul class="menu vertical">
        <li>Item</li>
        <li>Item</li>
        <li>Item</li>
      </ul>
    </div>

    <!-- "wider" top-bar menu for 'medium' and up -->
    <div id="widemenu" class="top-bar">
      <div class="top-bar-left">
        Icon
      </div>
    </div>

    <!-- original content goes in this container -->
    <div class="off-canvas-content" data-off-canvas-content>
      <div class="row column">
        Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has
        survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop
        publishing software like Aldus PageMaker including versions of Lorem Ipsum.
      </div>
    </div>

    <!-- close wrapper, no more content after this -->
  </div>
</div>

(ps.stackoverflow 中的代码编辑器甚至不能用于切换部分,但你可以在 jsfiddle 上看到它:https://jsfiddle.net/03bx493q/

你会看到一些奇怪的东西,

  • 当我点击按钮时(第一次),它显示两个桌面 版本菜单和画布外菜单。然后我通过单击关闭菜单 再次按下按钮。

  • 当我点击按钮(第二次)时,它只显示 画布外菜单。

我尝试了不同的方法来解决,例如在宽菜单中添加“hide-for-small”类(它并没有像预期的那样有帮助)...

提前致谢!

【问题讨论】:

    标签: html zurb-foundation off-canvas-menu


    【解决方案1】:

    我不确定确切的问题是什么,但您的 html 结构不太正确。我有一个工作示例,我已使用您的内容对其进行了修改:

    Fiddle Demo

    HTML:

    <div class="off-canvas-wrapper">
      <!-- off-canvas left menu -->
      <div class="off-canvas-wrapper-inner" data-off-canvas-wrapper>
        <div class="off-canvas position-left" id="offCanvasLeft" data-off-canvas data-position="left">
          <button class="menu-icon" type="button" data-toggle="offCanvasLeft"></button>
          <ul class="mobile-ofc vertical menu">
            <li>Item</li>
            <li>Item</li>
            <li>Item</li>
          </ul>
        </div>
    
        <!-- "wider" top-bar menu for 'medium' and up -->
        <div class="off-canvas-content" data-off-canvas-content>
          <div id="widemenu" class="top-bar show-for-medium">
            <ul class="menu">
              <li class="topbar-title">
                Icon
              </li>
            </ul>
          </div>
    
          <!--top-bar for small-->
          <div id="offCanvasLeft" class="title-bar hide-for-medium">
            <div class="title-bar-left">
              <button class="menu-icon" type="button" data-open="offCanvasLeft"></button>
              <span class="title-bar-title">Menu</span>
            </div>
          </div>
    
          <!-- original content goes in this container -->
          <div class="expanded row">
            <div class="row columns">
              Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has
              survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop
              publishing software like Aldus PageMaker including versions of Lorem Ipsum.
            </div>
          </div>
        </div>
      </div>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多