在我的应用中滚动垂直时遇到问题。实际上我在我的页面上有一个用于swipeleft和swiperight事件的jqm-panel和eventlisteners(见下文)......
$('#ccm_content').on('swiperight', function () {
if ( $.mobile.activePage.jqmData( "panel" ) !== "open" ) {
$('#menupanel').panel('open');
}
});
$('ccm_content').on('swipeleft', function (event) {
if ($(event.target).closest(".ui-slider").length) {
return false;
}
//else{
if ( $.mobile.activePage.jqmData( "panel" ) === "open" ) {
console.log("closing menupanel!");
$('#menupanel').panel('close');
}
//}
});
如果没有这些eventListeners,垂直滚动就会很平滑 - 即使用拇指晃动也是如此。 如果我添加那些eventlisteners,滚动有时是bucky并突然停止在内容中的div或锚点。
我想这是因为我不是一直在y-achsis上滚动100%(但是谁真的这么做?),这根本不是问题 - 但实际上这是一个问题。
实际上我非常喜欢JQM面板和滑动。但是由于这个滚动问题,我可能不得不丢弃它们至少回归按钮。
有谁知道解决方法? 也许它有助于在scrollstart上的透明div中包装datarole =“content”并删除scrollstop上的wrap。
- - - - 的更新
好的 - 所以我做了一些研究,我在博客上发现了一些非常好的评论:看here!
我想我明天会调查一些标记。
在垂直方向上有一些可能导致不连续卷轴的事情(即使我使用的是iScrollView,这很酷。看看那些:iScrollView与同时转换相结合)。
<a>
标记:由于我的WebApp不包含任何列表视图,但许多<div>
包含<img>
个标记,其中包含一个<a>
标签,我想,可能值得花时间去除所有“坏”?锚
阴影:我喜欢JQM提供的那些nicy阴影,但也许我应该尝试提高滚动性能 - 例如建议:click
固定工具栏
为了区分hScroll和vScroll,这可能会对我有所帮助:
// you can set this fix in DOM ready or jQM's mobileinit
// DOM ready
$(function(){
$.event.special.swipe.scrollSupressionThreshold = 100;
});
// jQM defaults
$(document).bind("mobileinit", function(){
$.event.special.swipe.scrollSupressionThreshold = 100;
});
如果这些建议中的任何内容可能会让我更接近平滑滚动 - 我会告诉你..最迟明天: - )
亲切的问候, TorchMan
- - - - 的更新
好的伙计,坏消息 - 没有任何帮助。我认为它与那些锚标签有关,而且它们是我最崭露头角的候选人。
下一步是什么?我已经用iScroll进行了一段时间的实验,但我必须说<ul>
<li>
...
</li>
</ul>
模式不是我想要的,iScroll只适用于listViews而不是深层级标记。最好的方法是使用iScrollView,它以复杂的方式包装iScroll。
我可以确定的是,由DIV和锚点组成的标记以及与IMG-Tags交错的DIV的标记似乎导致不稳定的滚动(在Android webkit上) - 即使使用iScrollView。
现在我将我的动态标记更改为jQuery Mobile ListViews因为我希望这会有效。顺便说一句,标记不是那么深的交错,也不是那么多DIV块。