动画 ScrollTop 用于单页锚点的侧面导航
Animating ScrollTop for side navigation for single page anchors
我正在尝试为单个页面上锚点之间的平滑过渡制作动画,并在突出显示的一侧设置固定导航。我是一个完全的新手,所以我不知道如何实现“( document.body).animate” 或进行转换所必需的东西。
tl;博士:
平滑滚动到锚点而不是跳转到锚点
这是js:
$('#firstlink').addClass('active');
$(window).scroll(function(){
$('.active').each(function(){
$(this).removeClass('active');
});
var scrollTop = $(window).scrollTop();
if($(window).scrollTop() + $(window).height() == $(document).height())
$('#fifthlink').addClass('active');
else if (scrollTop > $("#fifth").position().top)
$('#fifthlink').addClass('active');
else if (scrollTop > $("#fourth").position().top)
$('#fourthlink').addClass('active');
else if (scrollTop > $("#third").position().top)
$('#thirdlink').addClass('active');
else if (scrollTop > $("#second").position().top)
$('#secondlink').addClass('active');
else
$('#firstlink').addClass('active');
});
这里是完整的 jsfiddle:https://jsfiddle.net/e03u0kqe/
这可能对你有用:
http://www.dwuser.com/education/content/quick-guide-adding-smooth-scrolling-to-your-webpages/
我在自己的网站上使用它,效果很好。
希望对你有用。
这可能在其他地方得到了回答,但应该这样做:
$('#sidenav a').on('click', function(e) {
e.preventDefault();
var target = $(this).attr('href');
var scrollTo = $(target).offset().top;
var duration = 1000;
$('body').animate({
scrollTop: scrollTo
}, duration);
});
在 window 滚动事件之后添加它。
我正在尝试为单个页面上锚点之间的平滑过渡制作动画,并在突出显示的一侧设置固定导航。我是一个完全的新手,所以我不知道如何实现“( document.body).animate” 或进行转换所必需的东西。
tl;博士: 平滑滚动到锚点而不是跳转到锚点
这是js:
$('#firstlink').addClass('active');
$(window).scroll(function(){
$('.active').each(function(){
$(this).removeClass('active');
});
var scrollTop = $(window).scrollTop();
if($(window).scrollTop() + $(window).height() == $(document).height())
$('#fifthlink').addClass('active');
else if (scrollTop > $("#fifth").position().top)
$('#fifthlink').addClass('active');
else if (scrollTop > $("#fourth").position().top)
$('#fourthlink').addClass('active');
else if (scrollTop > $("#third").position().top)
$('#thirdlink').addClass('active');
else if (scrollTop > $("#second").position().top)
$('#secondlink').addClass('active');
else
$('#firstlink').addClass('active');
});
这里是完整的 jsfiddle:https://jsfiddle.net/e03u0kqe/
这可能对你有用:
http://www.dwuser.com/education/content/quick-guide-adding-smooth-scrolling-to-your-webpages/
我在自己的网站上使用它,效果很好。
希望对你有用。
这可能在其他地方得到了回答,但应该这样做:
$('#sidenav a').on('click', function(e) {
e.preventDefault();
var target = $(this).attr('href');
var scrollTo = $(target).offset().top;
var duration = 1000;
$('body').animate({
scrollTop: scrollTo
}, duration);
});
在 window 滚动事件之后添加它。