我目前正在使用平滑滾動和ID /定位標記的組合滾動到我網站上的內容。下面的代碼獲取DOM中下一個'section'的ID,並將其ID添加爲'view next section'href,因此一旦它被點擊,它將滾動到該div的頂部。然後,它會迭代,每次更新下一個ID的href,直到看到最後一部分,然後滾動回頂部。非常簡單。更新窗口大小調整的滾動位置
唯一的問題是'節'是全屏圖像,所以它滾動到下一部分的頂部,如果您調整瀏覽器的大小,那部分的頂部位置(我們滾動到的部分)已經移動,並意味着職位丟失。
我創建了一個JSFiddle。你可以看到這發生在你點擊箭頭訪問下一部分然後調整窗口大小後,發生這種情況:http://jsfiddle.net/WFQ9t/3/
我想保持這個頂部位置固定在任何時候,所以即使你調整瀏覽器的大小,滾動位置是更新以反映這一點。
由於提前, [R
var firstSectionID = $('body .each-section').eq(1).attr('id');
$('.next-section').attr('href', '#' + firstSectionID);
var i = 1;
$('.next-section').click(function() {
var nextSectionID = $('body .each-section').eq(i).attr('id');
i++;
$('.next-section').attr('href', '#' + nextSectionID);
var numberOfSections = $('body .each-section').length;
var lastSectionID = $('body .each-section').eq(numberOfSections).attr('id');
if ($('.next-section').attr('href') == '#' + lastSectionID) {
$('.next-section').attr('href', '#introduction');
i = 1;
}
});
我將利用調整大小端插件,只是觸發您現有的平滑滾動。這裏是一個可能的插件:http://www.paulirish.com/2009/throttled-smartresize-jquery-event-handler/ – ArrayKnight
我真的只是做一個1px的DIV與頁面滾動,則窗口大小調整時,隨時調用那個div的'.scrollTop()'來獲得真正的滾動位置。 – ntgCleaner
@ntgCleaner感謝您的幫助。你能提供一個例子嗎?我瞭解與頁面滾動的1px div,但是如何使視口在調整大小時保持原樣? –