2017-03-07 7 views
0

私はこの一日中の答えを探していました。私は何か他のスタイリングで間違っていると思っていますが、私が使っているコードはすべてFirefoxで完璧ですが、起こる。スティッキーNavbar Firefoxで働いていてもChromeではない

ページをスクロールしている間に、ナビゲーションバーがヘッダーの下からページの上に固定されるポイントでは、シフトが発生するとほぼジッターがかかります。ときには点滅することもあります。私が再現できるものは次のとおりです。 シフトが起こるといつでもジャンプまたは点滅します。 変更のポイントまで直接スクロールすると、一定のストロボが点滅します。 ゆっくりと一定のスクロールは、ページを約5%上にジャンプします。

ここに私のコードです。

HTML

<!DOCTYPE html> 

<html> 
    <head> 
     <meta content="en-us" http-equiv="Content-Language" /> 
     <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> 
     <meta name="viewport" content="width=device-width, user-scalable=no" /> 

     <title>NMU - SCA</title> 

     <link rel="stylesheet" href="css/desktop.css"> 
     <link rel="stylesheet" href="css/mobile.css"> 
     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
    </head> 
    <body> 
     <div id="header"> 
      <h1>Student Cybersecurity Association</h1> 
      <h2>of Northern Michigan University</h2> 
     </div> 
     <div class="navbar"> 
      <ul> 
       <li><a href="index.html">Home</a></li> 
       <li><a href="index.html">Information</a></li> 
       <li><a href="index.html">Contact</a></li> 
      </ul> 
     </div> 
     <div> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
      <p>a</p> 
     </div> 

     <script type="text/javascript" src="js/main.js"></script> 
    </body> 
</html> 

CSS

* { 
    margin: 0px; 
    padding: 0px; 
} 

html, body { 
    height:100% 
} 

#header { 
    padding: 20%; 
    background-color: black; 
} 

#header h1, #header h2 { 
    text-align: center; 
    color: white; 
} 

.navbar { 
    display: inline-block; 
    position: relative; 
    width: 100%; 
    padding: 0px; 
    margin: 0px; 
    background-color: red; 
    z-index: 100; 
    top: 0; 
    left: 0; 
} 

.navbar ul { 
    padding: 0px; 
    margin: 0px; 
} 

.navbar li { 
    display: inline-block; 
    float: left; 
    padding: 15px; 
    background-color: red; 
} 

.navbar a { 
    text-decoration: none; 
    color: white; 
} 

jQueryの

var main = function() { 

    $(window).scroll(function() { 
    var scrollVal = $(this).scrollTop(); 
     if (scrollVal >= $('#header').outerHeight(true)) { 
      $('.navbar').css({'position':'fixed','top' :'0px'}); 
     } else { 
      $('.navbar').css({'position':'static','top':'auto'}); 
     } 
    }); 
} 

$(document).ready(main); 

私はこの問題の本当にうんざりしてちょうどクロムが動作するようにしたいです。

+0

Windows 10でChromeバージョン56.0.2924.87(64ビット)を使用していますが、あなたが参照している問題は表示されません。おそらくそれはあなたが使用しているブラウザですか?私はページがスクロールし、navが残っているときに滑らかな遷移を見る。 –

+0

私はそれを取り戻す。マウスでスクロールホイールを使用するとスムーズに移行しますが、ブラウザでスクロールバーを使用した場合は移行しません。 –

答えて

0

私は簡単に見ていた、これは私のために働いているようです。下にコードスニペットを貼り付けます。私が作った唯一の変化は、絶対的なポジションです。

var main = function() { 
    $(window).scroll(function() { 
     var scrollVal = $(this).scrollTop(); 
     if (scrollVal >= $('#header').outerHeight(true)) { 
      $('.navbar').css({'position':'fixed','top' :'0px'}); 
     } else { 
      $('.navbar').css({'position':'absolute','top':'auto'}); 
     } 
    }); 
} 
+0

あなたは爆弾です。 – WolfNinja2

0

.navbarはブロックではなく、inline-blockあるべきと.navbarli年代はちょうどinline-blockすることができ、floatを必要としません。あなたがそれを世話するなら、働くと思われます。

また、インラインスタイルを設定する代わりに、コードを少し変更して、クロムでこの作業を行う必要はありません。

$(window).scroll(function() { 
 
    var scrollVal = $(this).scrollTop(), 
 
     $header = $('#header'), 
 
     $navbar = $('.navbar'); 
 
    if (scrollVal >= $header.outerHeight(true)) { 
 
    $navbar.addClass("fixed"); 
 
    } else { 
 
    $navbar.removeClass("fixed"); 
 
    } 
 
});
* { 
 
    margin: 0px; 
 
    padding: 0px; 
 
} 
 

 
html, 
 
body { 
 
    height: 100% 
 
} 
 

 
#header { 
 
    padding: 20%; 
 
    background-color: black; 
 
} 
 

 
#header h1, 
 
#header h2 { 
 
    text-align: center; 
 
    color: white; 
 
} 
 

 
.navbar { 
 
    position: relative; 
 
    background-color: red; 
 
    z-index: 100; 
 
    top: 0; 
 
    left: 0; 
 
    right: 0; 
 
} 
 

 
.fixed { 
 
    position: fixed; 
 
} 
 

 
.navbar ul { 
 
    padding: 0px; 
 
    margin: 0px; 
 
} 
 

 
.navbar li { 
 
    display: inline-block; 
 
    padding: 15px; 
 
    background-color: red; 
 
} 
 

 
.navbar a { 
 
    text-decoration: none; 
 
    color: white; 
 
}
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> 
 
<div id="header"> 
 
    <h1>Student Cybersecurity Association</h1> 
 
    <h2>of Northern Michigan University</h2> 
 
</div> 
 
<div class="navbar"> 
 
    <ul> 
 
    <li><a href="index.html">Home</a></li> 
 
    <li><a href="index.html">Information</a></li> 
 
    <li><a href="index.html">Contact</a></li> 
 
    </ul> 
 
</div> 
 
<div> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
    <p>a</p> 
 
</div>

+0

私はここで2つの答えを選ぶことができれば、他の答えと一致してあなたのものが実際にこのすべてが面白くなるのを止めさせたからです。返信いただきありがとうございます! <3 – WolfNinja2

+0

@ WolfNinja2 np :) –

関連する問題