我在为snap.js添加一个固定的头时遇到了一些困难,到目前为止,我有如下所示:
<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容器中移出来让它工作。但是现在标题不能与左边抽屉的其余部分滑动“同步”(参见示例)。
发布于 2016-01-25 23:05:53
原来,您需要在snap容器之外的工具栏才能真正实现固定的定位。问题是工具栏不再拖着抽屉,这在GitHub问题中得到了证实。因此,我编写了一个小的js补丁,以便根据需要将工具栏在snap内容容器中移动或移出。
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 */发布于 2016-01-25 02:38:31
您只需要在#toolbar中移动#container,如下所示:
<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://stackoverflow.com/questions/34983689
复制相似问题