Javascript jquery animate.scrollTop()在mdl链接中不起作用

Javascript jquery animate.scrollTop()在mdl链接中不起作用,javascript,jquery,html,material-design-lite,Javascript,Jquery,Html,Material Design Lite,大家好,我正试图用谷歌mdl制作一个网站模板,但问题是,点击菜单链接将页面滚动到相应部分的代码不起作用 请参阅代码以获取帮助: //仅处理以“#”开头的@href链接 $(文档)。在('click','a[href^=“#”]”上,函数(e){ //目标元素id var id=$(this.attr('href'); //目标元素 变量$id=$(id); 如果($id.length==0){ 返回; } //防止标准哈希导航(避免在IE中闪烁) e、 预防默认值(); //相对于文档的顶部位

大家好,我正试图用谷歌mdl制作一个网站模板,但问题是,点击菜单链接将页面滚动到相应部分的代码不起作用

请参阅代码以获取帮助:

//仅处理以“#”开头的@href链接
$(文档)。在('click','a[href^=“#”]”上,函数(e){
//目标元素id
var id=$(this.attr('href');
//目标元素
变量$id=$(id);
如果($id.length==0){
返回;
}
//防止标准哈希导航(避免在IE中闪烁)
e、 预防默认值();
//相对于文档的顶部位置
var pos=$(id).offset().top-10;
//动画顶部滚动
$('body,html').animate({scrollTop:pos});
});
.Home部分{
高度:500px;
背景:深蓝;
宽度:100%;
}
.关于部分{
高度:300px;
背景:深粉色;
宽度=100%;
}

如果没有在google mdl上滚动,则可能没有在
html
body
上滚动。查看此帖子了解更多详细信息:

所以这段代码:

$('body,html')。动画({scrollTop:pos})

应该是这样的:

$('mdl-layout').animate({scrollTop:pos})


我知道这是一篇迟发的帖子,但不管怎样。

如果它没有在谷歌mdl上滚动,那么很可能你没有在
html
body
上滚动。查看此帖子了解更多详细信息:

所以这段代码:

$('body,html')。动画({scrollTop:pos})

应该是这样的:

$('mdl-layout').animate({scrollTop:pos})


我知道这是一篇迟到的帖子,但不管怎样。

我找到了答案。这不是完美的,但很管用

而不是

$('body, html').animate({scrollTop: pos});
使用


我找到了答案。这不是完美的,但很管用

而不是

$('body, html').animate({scrollTop: pos});
使用


您没有看到任何事情发生的原因是您正在body节点上滚动。MDL处理MDL-LAYOU内容中的溢出,这是您应该滚动的元素

因此:

现在变成:

$(".mdl-layout__content").stop().animate({scrollTop:position}, speed, "swing");

您没有看到任何事情发生的原因是您正在body节点上滚动。MDL处理MDL-LAYOU内容中的溢出,这是您应该滚动的元素

因此:

现在变成:

$(".mdl-layout__content").stop().animate({scrollTop:position}, speed, "swing");