在處理最近的項目時,我想添加一個滾動然後修復標題。我經常對此進行研究,但許多在線資源並沒有多大幫助,因爲它們依賴於舊版本的各種語言,或者廣泛地依賴於無法解釋的「幻數」。最終,我決定簡單地編寫它自己,並製作了以下內容:如何在粘貼時保持導航欄居中?
$(document).ready(function(){
var elementPosition = $('#navbar').offset();
$(window).scroll(function() {
if ($(window).scrollTop() > elementPosition.top) {
$('#navbar').css('position', 'fixed').css('top', '0');
} else {
$('#navbar').css('position', 'static');
}})});
這工作與粘性導航欄頂端,但每當它激活它,它膠粘到左上角,而不是保持其中心位置。我正在改變的是'位置'並添加屬性'頂部',所以我沒有理由突然轉向側面。我非常感謝您可能有的任何修復或解釋。作爲參考,這裏是有關HTML:
<div id="navbar"><ul>
<li id="activePage"><a href="">Home</a></li>
<li><a href="">About</a></li>
<li><a href="">Upcoming events </a><li>
<li><a href="">Contact Us</a></li>
<li><a href="">Contribute</a></li>
</ul></div>
和css:
#navbar {
background-color: white;
z-index: 1;
}
#navbar ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
text-align: center;
width: 100%;
}
#navbar li {
text-align: center;
display: inline;
}
#navbar ul #activePage a {
color: #cec8c8;
}
#navbar li a {
color: black;
padding: 14px 35px;
text-decoration: none;
font-family: 'Roboto Slab';
font-size: 25px;
text-align: center;
}
預先感謝您的任何和所有幫助您可以提供!
完美的工作,謝謝。還有一個問題:如果你可以做這樣的事情'的.css({ '頂': '0', '左': '0', '右': '0'})',可能我已經結合'的.css( ''position','fixed')''以獲得'.css({'top':'0','left':'0','right':'0','position','fixed'} );'? – Bugsy
@Bugsy np!是的,你可以把它們組合起來。另外,一個更清潔的方式做這將是把所有的CSS屬性像'.sticky'一類和你使用jQuery'$ .addClass(「粘」);'和'$ .removeClass(「粘性」 );''根據你的'scrollTop()'條件。 –