【问题标题】:Slide out html menu for mobile / ipad etc用于移动/ipad 等的滑出 html 菜单
【发布时间】:2014-06-19 13:25:42
【问题描述】:

我想要一个适用于我的响应式 CSS 网站的 ipad/移动设备平台的滑入/滑出菜单。我亲手写了一个作品,但不允许滑动关闭或点击外部关闭(必须使用关闭按钮)。

我看到的所有示例都使用 wordpress 我正在编写纯 html/jquery/css。

有没有人可以解决这个问题?我尝试了 jquery 移动面板,但它没有按我的意愿工作,因为我猜它不是一个真正的移动网站。

我的主要 HTML 是

<div>
    <h2>Lorum ipsum 5 times for length</h2>

    <p>At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat</p>

    <p>At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat</p>

    <p>At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat</p>

    <p>At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat</p>

    <p>At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat</p>
</div>

我的菜单是:

<div>
    <ul>
      <li><a href='#'>An Item</a></li>
      <li><a href='#'>An Item 2</a></li>
      <li><a href='#'>An Item 3</a></li>
      <li><a href='#'>An Item 4</a></li>
    </ul>
</div>

所以菜单需要从左侧滑入滑出。 PLEH。

【问题讨论】:

  • 您只需将 div 附加到正文,(理想情况下为绝对/固定位置)偏移它,以便在菜单可见时占据菜单外部的空间(并覆盖页面的其余部分)并绑定一个点击功能,它将关闭它。那个 div 可以是透明的。
  • 谢谢,这可能会解决列出的问题之一,但是如何调整大小以适应我的菜单?
  • 取决于菜单,但你可以把它放在它后面,然后用 z-index 把你的菜单放在它上面。或者,您可以将点击处理程序附加到正文(但不包括您的菜单),这将在点击时关闭它。

标签: jquery html css ipad mobile


【解决方案1】:

看看这个 sidr jQuery 插件http://www.berriart.com/sidr/

它用于创建侧边菜单和使菜单响应的最简单方法。

上面的网站有很多关于如何实现这个插件的文档。

如果您想查看此工作的示例,请转到 funkychristmasjumpers.com 并在手机上查看。

祝你好运:-)

【讨论】:

  • 谢谢,不幸的是这个插件不允许你点击屏幕上的其他地方来关闭。
  • 您可以以编程方式打开和关闭菜单,查看文档berriart.com/sidr/#swipe-menu 的这一部分,然后为除菜单本身之外的所有位置设置触摸侦听器并调用 $.sidr( '关闭', '菜单名称');.
  • 我如何“为除菜单本身之外的所有地方设置触摸监听器”?
【解决方案2】:
$('body').click(function(e){
  if (e.target.id !== 'menu' ) { 
    $('#menu').hide(); 
  }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    • 1970-01-01
    • 1970-01-01
    • 2017-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多