我有一個簡單的網站設置了標題,導航欄和內容。當頁面到達導航欄時,位置變得固定,所以導航欄位於頁面的頂部 - 此時,導航欄的高度也會變小一些(因爲我喜歡這種效果) - 我通過添加單獨的類來完成此操作,固定和更薄的導航欄。粘滯的導航欄使內容跳回備份
大多數人都知道當你向內聯元素添加「position:fixed」時會發生的問題,因爲它會使內容突然「向上跳躍」。爲了抵消這一點,我添加了一個名爲「stop_the_jump」的div,它隱藏起來,直到導航欄變得固定,然後顯示在它的位置上。所有這些都在順利運行的過程中順利進行,但當您向後滾動時,由於導航欄現在變得更薄,您可以跳轉。
我拉着我的頭髮在這一個,我怎麼能消除這種跳躍發生在備份的方式。
這裏是一個的jsfiddle清楚地表明我的問題: http://jsfiddle.net/gnac14qa/
我的jQuery代碼如下:
$(window).scroll(function() {
var Scroll = $(window).scrollTop();
var ScrollFXfullHeight = $('.header-wrapper').height();
if (Scroll == ScrollFXfullHeight) {
$("#navigation").addClass("fixed");
$(".stop_the_jump").css('display','block');
} else if (Scroll > ScrollFXfullHeight) {
if(!$("#navigation").hasClass('fixed')) {
$(".stop_the_jump").css('display','block');
$("#navigation").addClass("fixed");
}
$("#navigation").addClass("thinner");
} else {
$("#navigation").removeClass("thinner fixed");
$(".stop_the_jump").removeClass("thinner");
$(".stop_the_jump").css('display','none');
}
});
任何幫助將非常感激。
這happend因爲當你告訴你的頁面高度的變化/隱藏元素,而不是像,*滾動<50時顯示div,滾動時隱藏> = 50 *它變得像*顯示div在滾動<45,隱藏在滾動> = 50 *(如果你知道我的意思) 。 –
嗨@AndrewDunai恐怕我沒有真正遵循 - 你能編輯我的JSFiddle並告訴我你的意思嗎? –