-6

その上にヘッダーがあるナビゲーションバーを作成しようとしています。画面の上部に到達するとナビゲーションバーが固定されるようにしたいのですが(これはすでに自分で解決しました)、その上には何も固定されません(通常どおり画面からスクロールします)。私がしようとしていることの非常に良い例はHappy Cogです. そこに移動し、ヘッダーが消えるまで下にスクロールしますが、ナビゲーション バーは表示されたままで、ブラウザー ウィンドウの上部に接続されているように見えます。それが私が望むことです: ヘッダーはナビゲーション バーの上に配置され、スクロールすると消えますが、ナビゲーション バーはブラウザーの上部にとどまります。私はそれがスクロールして、彼らのものと同じくらいスムーズに実行されることを確認したいと思っています。ナビゲーション バーの上にコンテンツを配置し、ナビゲーション メニューが固執するときにコンテンツが固執しないようにするにはどうすればよいですか?

私はあなたができるどんな助けにも本当に感謝しています! 事前にどうもありがとうございました!

私の HTML:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Testing</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.1/jquery-ui.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="script.js"></script>
</head>
<body>
<header role="banner" id="top">
<div id="navbar" class="banner">
<div id="header-text">
<h1>
<strong id="top-title">
Atlas Land Office (text will change)
</strong>
</h1>
<p id="slogan">
Keeping lands fresh.
</p>
</div>
<div id="menu">
<ul role="navigation" class="banner">
<li>
<a href="#home">Home</a>
</li>
<li>
<a href="#land">Land Surveying</a>
</li>
<li id="nav-space-left">
<a href="#civil">Civil Engineering</a>
</li>
<li id="nav-home">
<a href="#top" title="Back to top">
<img src="#logo" alt="Atlas Land Office" />
</a>
</li>
<li>
<a href="#planning">Land Planning</a>
</li>
<li>
<a href="#company">Company</a>
</li>
<li>
<a href="#careers">Careers</a>
</li>
</ul>
</div>
</div>
</header>
</body>
</html>

私のCSS(私はこの時点まで持っています - ほぼ完成していません):

body {
height: 3000px;
top: 0;
position: relative;
}

#navbar {
position: relative;
width: 1329px;
height: 44px;
background: #CCC;
margin-left:-8px; /* Connects the navigation menu to the left "wall" */
margin-top:-8px;
top: 100px;
padding-left:10px;
padding-right:10px;
}

私のjQuery:

$(window).scroll(function () {
if ($(window).scrollTop() > 100) {
$('#navbar').css('top', $(window).scrollTop());
}
}
);
4

1 に答える 1