移動Web的觸摸滑出式導航菜單:Slideout.js

jopen 10年前發布 | 50K 次閱讀 移動Web開發框架 移動開發 Slideout.js

用于移動Web應用程序的觸摸滑出式導航菜單。

特性

  • Dependecy-free.
  • Simple markup.
  • Native scrolling.
  • Easy customization.
  • CSS transforms & transitions.
  • Just 4 Kb!
  • </ul>

    示例

    Check out the demo to see it in action (on your mobile or emulate touches on your browser).

    Slideout.js demo

    安裝

    $ npm install slideout
    
    $ bower install https://github.com/Mango/slideout.git
    
    $ component install mango/slideout

    使用

    Implementing Slideout.js into your project is easy.

    First of all, you'll need to create your markup. You should have a menu (#menu) and a main content (#panel) into your body.

    <nav id="menu">
      <header>
        <h2>Menu</h2>
      </header>
    </nav>
    
    <main id="panel">
      <header>
        <h2>Panel</h2>
      </header>
    </main>

    Add the Slideout.js styles (index.css) in your web application.

    html,
    body {
      width: 100%;
      height: 100%;
    }
    
    .slideout-menu {
      position: fixed;
      left: 0;
      top: 0;
      bottom: 0;
      right: 0;
      z-index: 0;
      width: 256px;
      overflow-y: scroll;
      -webkit-overflow-scrolling: touch;
      display: none;
    }
    
    .slideout-panel {
      position:relative;
      z-index: 1;
    }
    
    .slideout-open,
    .slideout-open body {
      overflow: hidden;
    }
    
    .slideout-open .slideout-menu {
      display: block;
    }

    Then you just include Slideout.js and create a new instace with some options:

    <script src="dist/slideout.min.js"></script>
    <script>
      var slideout = new Slideout({
        'panel': document.getElementById('panel'),
        'menu': document.getElementById('menu'),
        'padding': 256,
        'tolerance': 70
      });
    </script>

    完整示例
    <!doctype html>
    <html lang="en">
      <head>
        <meta charset="utf-8">
        <title>Slideout Demo</title>
        <meta http-equiv="cleartype" content="on">
        <meta name="MobileOptimized" content="320">
        <meta name="HandheldFriendly" content="True">
        <meta name="apple-mobile-web-app-capable" content="yes">
        <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
        <style>
          html,
          body {
            width: 100%;
            height: 100%;
          }
    
          .slideout-menu {
            position: fixed;
            left: 0;
            top: 0;
            bottom: 0;
            right: 0;
            z-index: 0;
            width: 256px;
            overflow-y: scroll;
            -webkit-overflow-scrolling: touch;
            display: none;
          }
    
          .slideout-panel {
            position:relative;
            z-index: 1;
          }
    
          .slideout-open,
          .slideout-open body {
            overflow: hidden;
          }
    
          .slideout-open .slideout-menu {
            display: block;
          }
        </style>
      </head>
      <body>
    
        <nav id="menu">
          <h2>Menu</h2>
        </nav>
    
        <main id="main">
          <header>
            <button>?</button>
            <h2>Panel</h2>
          </header>
        </main>
    
        <script src="dist/slideout.min.js"></script>
        <script>
          var slideout = new Slideout({
            'panel': document.getElementById('panel'),
            'menu': document.getElementById('menu'),
            'padding': 256,
            'tolerance': 70
          });
        </script>
    
      </body>
    </html>

    瀏覽器支持

    • Chrome (IOS, Android, desktop)
    • Firefox (Android, desktop)
    • Safari (IOS, Android, desktop)
    • Opera (desktop)
    • IE 10+ (desktop)

    項目主頁:http://www.baiduhome.net/lib/view/home/1425459301759

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!