2

我看过很多关于使用 ScrollTo.js 插件和 Bootstrap 时页面闪烁问题的帖子。特别是在 iOS 中。我尝试了很多建议都无济于事。一旦用户滚动到导航栏,我还使用 Bootstrap 的 Affix 来附加导航栏。我不知道是 ScollTo 还是 Affix 导致了闪烁,但 .navbar 似乎在 iOS 设备上跳跃或弹跳。有什么想法可以解决这个问题吗?

<div class="navbar navbar-static-top" data-spy="affix" data-offset-top="66">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#top"><img src="images/logo@2x.png" width="209px" height="54px" class="logo"></a>
    </div>
    <div class="navbar-collapse collapse navbar-right">
      <ul class="nav navbar-nav">
        <li><a href="#about">About</a></li>
        <li><a href="#news">News</a></li>
        <li><a href="#portfolio">Portfolio</a></li>
        <li><a href="#gallery">Gallery</a></li>
        <li><a href="#blog">Blog</a></li>
      </ul>
    </div>
  </div>

CSS

.navbar.affix {
    position: fixed;
    top: 0;
    width: 100%;
}

JS

$(function() {
  $('.navbar a').on('touchstart click', function(e) {
  e.preventDefault();
  target = this.hash;
  $.scrollTo(target, 1000, {'axis': 'y'});
}); 
4

0 回答 0