我目前正在使用平滑滚动和 ID/锚标记的组合来滚动到我网站上的内容。下面的代码获取 DOM 中下一个“部分”的 ID,并将其 ID 添加为“查看下一个部分”href,因此一旦单击它,它将滚动到该 div 的顶部。然后,它会迭代,每次都用下一个 ID 更新 href 等,直到看到最后一个部分并滚动回顶部。很简单。
唯一的问题是“部分”是全屏图像,因此当它滚动到下一部分的顶部时,如果您调整浏览器的大小,该部分的顶部位置(我们滚动到的位置)已经移动,并且意味着位置丢失了。
我创建了一个 JSFiddle。单击箭头访问下一部分然后调整窗口大小后,您可以看到这种情况发生:http: //jsfiddle.net/WFQ9t/3/
我希望始终保持此顶部位置固定,因此即使您调整浏览器大小,滚动位置也会更新以反映这一点。
在此先感谢,
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;
}
});