首先,您需要爲頭文件設置一個top
樣式,以便它們處於正確的位置,您應該考慮採用更健壯的方法來執行此操作。
另一種考慮這樣做的方法是製作底部標題的隱藏副本。
然後,只需在滾動位置正確時隱藏/顯示它。這種方法避免了任何滑稽業務與滾動條作爲元件被放入和取出該頁面的滾動部分的(因爲原來仍然存在);改變尺寸和/或位置:
JSFiddle Demo
的更好的方法是簡單地讓你顯示/隱藏的底部集流管固定/非固定的佔位符:
<div id="fixed_header_top">fixed_header_top</div>
<div id="fixed_header_middle">fixed_header_middle</div>
<div id="fixed_header_bottom">fixed_header_bottom</div>
<div id="fixed_placeholder">Shouldn't ever see me</div>
JS:
$(document).ready(function() {
$(window).bind("scroll", function (e) {
if(!$('#fixed_header_bottom').hasClass('fixed')) {
if ($(document).scrollTop() >= 100) {
$('#fixed_placeholder').show();
$('#fixed_header_bottom').addClass('fixed');
}
} else {
if ($(document).scrollTop() < 100) {
$('#fixed_placeholder').hide();
$('#fixed_header_bottom').removeClass('fixed');
}
}
});
});
CSS:
#fixed_header_bottom, #fixed_placeholder {
display: block;
width: 100%;
height: 50px;
background-color: #11DD55;
}
#fixed_placeholder {
display: none;
}
.fixed {
position: fixed;
top: 50px;
}
JSFiddle Demo
'.removeAttr( '風格');'是擺脫你的固定位置的粗重的方式。我會爲這個位置創建一個類並使用'.addClass()'和'.removeClass()' –
這就是我正在尋找這個部分的原因。我以前用過它,但不記得了。謝謝。 – BentCoder
查看我的答案,下面是使用'addClass()'/'removeClass()'和佔位符div來避免跳動問題的解決方案。您的IE問題是由於您使用的jQuery版本。 –