組合不正常工作我使用這個漂亮的小JavaScript來使我的導航欄(通常坐在頂部230px下)粘到頂部一旦頁面向下滾動即230頁。然後它給「nav」元素一個「固定」的位置。頁面定位符與「滾動然後修復」JS導航欄代碼
$(document).ready(function() {
$(window).bind('scroll', function() {
if ($(window).scrollTop() > 230) {
$('nav').addClass('fixed');
} else {
$('nav').removeClass('fixed');
}
});
});
nav {
width: 90%;
display: flex;
justify-content: center;
max-width: 1400px;
height: 85px;
background-color: rgba(249, 241, 228, 1);
margin: auto;
border-top-left-radius: 0em;
border-top-right-radius: 0em;
border-bottom-left-radius: 2em;
border-bottom-right-radius: 2em;
}
.fixed {
position: fixed;
border-top: 0;
top: 0;
margin: auto;
left: 0;
right: 0;
z-index: 4;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav>
<ul>
<li><a href="#one">One</a></li>
<li><a href="#two">Two</a></li>
<li><a href="#three">Three</a></li>
<li><a href="#four">Four</a></li>
</ul>
</nav>
現在的問題:我已經放置在相應的錨目標頁面內 ,並給予他們一些「填充頂」佔固定導航欄(約90像素),這樣當點擊後頁面跳到它們後面時,它們不會消失在欄後面。
.anchor {
padding-top: 90px;
}
<a class="anchor" id="three">
這工作正常,因爲導航欄已經固定在頂部。 但是,如果您在導航欄仍處於其原始頁面中間位置(例如,用戶首次點擊該頁面)時點擊鏈接,它會忽略我給出錨點目標的偏移量並跳轉到錨點的奇怪位置目標隱藏在導航欄後面(甚至不與頁面的頂部對齊)!
如果我然後再次單擊鏈接(現在在頁面頂部的固定欄中),它會自行更正並顯示我想要的頁面。但是,第一次點擊總是錯過 - 我無法弄清楚爲什麼!請幫助
編輯:工作演示在這裏:http://www.myway.de/husow/problem/problem.html
你能給我們一個可以重現問題的工作演示嗎? –
是的,這是一個簡化的問題重現:http://www.myway.de/husow/problem/problem.html –
在這個例子中,它始終處於導航背後! –