我正在使用我自己的代碼嘗試設置粘性導航。jQuery滾動到CSS上的div更改(粘性導航)
它的工作,但每當它將div更改爲固定,瀏覽器自動滾動到它。這意味着瀏覽器無法滾動任何比原始導航欄位置更遠的位置。
任何想法?當你的內容是恰到好處的高度,當你的粘元素設置爲position: relative
,這是足夠高的垂直滾動,並從文檔的流動中取出時,內容不再是足夠高
$(document).ready(function() {
var stickNavOffset = $('#nav').offset().top;
function sticky() {
if ($(this).scrollTop() > stickNavOffset-1) {
$('#nav').css({position:'fixed',left:'auto'});
} else {
$('#nav').css({position:'relative',left:'auto'});
}
}
$(window).scroll(function() {
sticky();
});
});
我很難理解你描述的問題。我用你的代碼做了一個快速[Fiddle](http://jsfiddle.net/nate/LTznp/)(發佈問題時總是一個好主意)。它顯示你遇到的問題嗎?如果沒有,你可以調整它,以便它呢? – Nate
是的,沒有。你是小提琴是對的,它工作正常。但在我的網站上它會自動滾動到頂部。我已經試過了我的筆記本電腦,並且不會發生此問題。 在我的桌面上,即使在隱身窗口中也會出現問題。它是一個瀏覽器問題嗎? –
它可能與瀏覽器行爲有關,但它仍然是您必須解決的問題。 :)所以:故障排除的基本技巧之一是隔離導致您的問題的元素。我們有一個小提琴設置工作正常,並有一個問題的網站。因此,現在是時候開始在您的網站上添加更多潛在元素,直到您可以重現您的問題。一旦你隔離導致問題的組件,你就是解決方案的3/4。 – Nate