0
我有下面的代碼:粘頭CSS和jQuery效果
function fixDiv() {
var $div = $("#navwrap");
if ($(window).scrollTop() > $div.data("top")) {
$('#navwrap').css({'position': 'fixed', 'top': '0', 'width': '100%'});
}
else {
$('#navwrap').css({'position': 'static', 'top': 'auto', 'width': '100%'});
}
}
$("#navwrap").data("top", $("#navwrap").offset().top);
// set original position on load
$(window).scroll(fixDiv);
<div class="nav" id="navwrap">
<style type="text/css">
.nav
{
width: 100%;
margin: 0 auto;
background: black;
height: 40px;
}
</style>
<ul>
<li id="home_link"><a href="#"><img src="images/nav_logo.jpg" /></a></li>
<li><a href="#">Services & Pricing</a></li>
<li><a href="#">About us</a></li>
<li><a href="#">Blog</a></li>
</ul>
</div>
這樣做是在http://creuna.com類似效果的東西,在導航欄枝頂端後滾動過去的位置。我遇到的問題如下:
導航欄滾動時,其位置從靜態變爲「固定」。這會導致導航欄高度的大小跳躍。我怎樣才能使#navwrap div保持其40px的高度,同時防止跳躍?
對不起,如果這個問題似乎有點特定,只是一直困在這個很長時間,並認爲有人可能會提供幫助。