重写JavaScript平滑滚动
我有这段代码,可以顺利地滚动到页面上的锚定点重写JavaScript平滑滚动,javascript,jquery,html,scroll,anchor,Javascript,Jquery,Html,Scroll,Anchor,我有这段代码,可以顺利地滚动到页面上的锚定点 $('a[href^="#"]').click(function () { $('html, body').animate({ scrollTop: $('[name="' + $.attr(this, 'href').substr(1) + '"]').offset().top }, 800); return false; }); 只要我想使用平滑滚动功能,它就可以工作。我的问题是,我想链接到一个锚点,而
$('a[href^="#"]').click(function () {
$('html, body').animate({
scrollTop: $('[name="' + $.attr(this, 'href').substr(1) + '"]').offset().top
}, 800);
return false;
});
只要我想使用平滑滚动功能,它就可以工作。我的问题是,我想链接到一个锚点,而不是一个特定链接的平滑滚动。我如何才能做到这一点?为要平滑滚动的链接添加属性,并设置以下条件。 您还可以进行反转,并为不希望平滑滚动的链接添加属性
$('a[href^=“#“]”)。单击(函数(){
if($.attr(这是“行为”)=“平滑”){
$('html,body')。设置动画({
scrollTop:$('[name=“'+$.attr(this,'href').substr(1)+'“]')).offset().top
}, 800);
}否则{
$('html,body').scrollTop($('[name=“'+$.attr(this,'href').substr(1)+''']')).offset().top);
}
返回false;
});代码>
。第1节{
高度:700px;
背景颜色:粉红色;
}
.第2节{
高度:600px;
背景颜色:黄色;
}
平滑滚动
第一节
点击链接查看“平滑”滚动效果
第二节
这对我不起作用,或者我不确定在哪里分配id。我已将您对“linkId”的引用更改为“anchor”,并尝试了以下操作:。滚动到锚点仍然是平滑的。@Robby您是否将html或body标记上的scroll behavior css属性设置为平滑?我将jquery包含在html末尾加载的外部.js文件中。