我无法将 jQuery 的 .animate 方法与 Google 的 Material Design Lite(MDL) 一起使用。我使用 MDL 制作导航栏,但无法平滑滚动。
简单的 jQuery 代码是这样的:
$(function(){
$('a.smooth').click(function(){
console.log("SMOOTH BEGIN");
var speed = 1000;
var href= $(this).attr("href");
var target = $(href == "#" || href == "" ? 'html' : href);
var position = target.offset().top;
$("html, body").animate({scrollTop:position}, speed, "swing");
console.log("SMOOTH END");
});
});
简单的html代码是这样的:
<!-- Navigation (this is included header) -->
<nav class="mdl-navigation">
<a class="mdl-navigation__link" href="">Home</a>
<a class="mdl-navigation__link smooth" href="#product">Product</a>
</nav>
<!--Main contents -->
<main class="mdl-layout__content">
<div id="product"><!—-Contents-—></div>
</main>
这段代码向我展示了日志“SMOOTH BEGIN”和“SMOOTH END”。但是,该链接作为普通链接工作,不像平滑。如何让 jQuery 与 MDL 一起工作?也许正在发生一些冲突,但控制台没有显示任何内容。