首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何添加固定工具栏snap.js

如何添加固定工具栏snap.js
EN

Stack Overflow用户
提问于 2016-01-25 01:14:22
回答 2查看 462关注 0票数 0

我在为snap.js添加一个固定的头时遇到了一些困难,到目前为止,我有如下所示:

代码语言:javascript
复制
<div class="snap-drawers">
  <div class="snap-drawer snap-drawer-left">
    <div>
      <h4>My App</h4>
      <ul>
        <li><a href="/#/">Nav 1</a></li>
        <li><a href="/#/">Nav 2</a></li>
        <li><a href="/#/">Nav 3</a></li>
      </ul>
    </div>

  </div>
  <div class="snap-drawer snap-drawer-right"></div>
</div>

<div id="content" class="snap-content">
  <div style="height:1000px">

  </div>
</div>

<div id="toolbar">
  <div>
    <a href="#" id="open-left"></a>
    <h1>My Toolbar</h1>
  </div>
  <div id="navbar">
    <h1>My Navbar</h1>
  </div>

</div>

工作实例https://jsfiddle.net/2bg2jrs5/

根据这个问题,https://github.com/jakiestfu/Snap.js/issues/47,我只能通过将固定的标头从snap容器中移出来让它工作。但是现在标题不能与左边抽屉的其余部分滑动“同步”(参见示例)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-25 23:05:53

原来,您需要在snap容器之外的工具栏才能真正实现固定的定位。问题是工具栏不再拖着抽屉,这在GitHub问题中得到了证实。因此,我编写了一个小的js补丁,以便根据需要将工具栏在snap内容容器中移动或移出。

代码语言:javascript
复制
    var snapper = new Snap({
        element: document.getElementById('content'),
        disable: 'right',
        hyperextensible: false
    });

    /* fixed header fix */
    snapper.on('start', function () {
        if (snapper.state().state !== "left")
            document.getElementById('content').appendChild(document.getElementById('toolbar'));
    });

    snapper.on('animated', function () {
        if (snapper.state().state !== "left")
            document.getElementsByTagName('body')[0].appendChild(document.getElementById('toolbar'));
    });
    /* end fixed header fix */

更新小提琴https://jsfiddle.net/2bg2jrs5/1/

票数 0
EN

Stack Overflow用户

发布于 2016-01-25 02:38:31

您只需要在#toolbar中移动#container,如下所示:

代码语言:javascript
复制
  <div id="content" class="snap-content">
    <div id="toolbar">
      <div>
        <a href="#" id="open-left"></a>
        <h1>My Toolbar</h1>
      </div>
      <div id="navbar">
        <h1>My Navbar</h1>
      </div>
    </div>
    <div style="height:1000px">
    </div>
  </div>

检查小提琴:https://jsfiddle.net/ano8g6en/1/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34983689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档