当页面滚动时,JQuery Mobile固定导航按钮不起作用

时间:2012-06-11 22:22:46

标签: jquery-mobile

这是JQuery Mobile和固定导航的另一个问题。

我目前在标题中有一个固定导航:

<div data-role="header" data-position="fixed"> 
    <h1>Page Title</h1> 
    <div data-role="navbar">
        <ul>
            <li><a href="a.html" class="ui-btn-active ui-state-persist">One</a></li>
            <li><a href="b.html">Two</a></li>
        </ul>
   </div>
</div> 

我的问题虽然有时难以重现,但当a.html是活动页面时,我已经向下滚动到页面底部并单击b.html的导航按钮。不寻常的部分是,当我没有向下滚动页面时它似乎表现正常。

此外,点击似乎在css中注册更改按钮颜色,但“加载”图标永远不会出现,页面永远不会加载。此外,如果我第二次点击链接(现在已经处于活动状态,如新的颜色所示)。

为什么这不能正常工作的任何想法?我在T-Mobile三星Galaxy S2上尝试这个。随着Android 2.3。和Jquery mobile 1.1。

1 个答案:

答案 0 :(得分:2)

是否可能与此问题有关:
Mobile Safari bug on fixed positioned button after scrollTop programmatically changed...?
和/或
Mobile Webkit reflow issue

这些链接中提到的修补程序的变体对我有用:

尝试:

<style>
.iosfix {
  height: 101%;
  width: 101%;
  overflow: hidden;
}
</style>

滚动时:

window.scrollTo(0, _NEW_SCROLLTOP_);
$('body').append($('<div></div>').addClass('iosfix'));
setTimeout(function() {
  $('.iosfix').remove();
}, 0);