【发布时间】:2014-05-26 18:22:20
【问题描述】:
有人知道如何在 jQuery Mobile 中设置 Snap.js 吗?我正在尝试从存在重大滚动问题的 jQuery Mobile 面板小部件迁移。
http://jsfiddle.net/frank_o/vZBzD/3/
HTML:
<div data-role="page">
<header data-role="header" data-position="fixed" data-tap-toggle="false">
<a id="open-panel">Open panel</a>
<div class="snap-drawers">
<div class="snap-drawer snap-drawer-left">
<ul>
<li>Pretty row 1</li>
<li>Pretty row 2</li>
<li>...</li>
</ul>
</div>
</div>
</header>
<div data-role="content" id="content" class="snap-content">
<ul>
<li>Pretty row 1</li>
<li>Pretty row 2</li>
<li>...</li>
</ul>
</div>
</div>
JS:
$(document).on('pagecontainershow', function () {
var snapper = new Snap({
element: document.getElementById('content')
});
if (document.getElementById('open-panel')) {
addEvent(document.getElementById('open-panel'), 'click', function () {
snapper.open('left');
});
}
});
【问题讨论】:
-
除了下面我在 codepen 中实现的答案之外,我还分叉了您的小提琴并对其进行了更新,以使其适用于所需的更改 - jsfiddle.net/nitishdhar/vZBzD/7。注意jsfiddle可能无法触发pagecontainershow事件,所以我把它去掉了。
-
stackoverflow.com/questions/22672236/… 是 jQM 面板滚动的 CSS 修复
标签: javascript jquery jquery-mobile snap.js