Mmenu - 滚动到元素不工作

时间:2015-11-26 13:33:21

标签: jquery mmenu

我已经实现了Mmenu,我想添加一个函数来向下滚动到当前所选元素 - 一个带有类名" .current-page"的li元素。

我添加了

$("html, body").animate({ scrollTop: $(".current-page").offset().top }, 1500);

到Mmenu代码 - 请参阅Fiddle。 但是,它不起作用。页面不滚动。

任何想法为什么它不起作用?

提前致谢。

2 个答案:

答案 0 :(得分:0)

以下是我使用scrollTop动画的示例。它并没有解决你的问题,但我希望能帮助你开始。

$('button').click(function () {
  $('.demo').animate({
    scrollTop: $('.demo')[0].scrollHeight
  }, 1500)
})
div {
  width: 250px;
  height: 250px;
  overflow: auto  
}
#content {
    height: 800px;
    width: 2000px;
    background-color: coral
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="demo">
  <div id="content">Content</div>
</div>
<button>Scroll down</button>

答案 1 :(得分:0)

我为Mmenu找到了一个未记录的api选项,所以我最终做了这样的事情:

var api = $('#menu').data('mmenu');
api.bind('opened', function() {
    if ($(".current-page").length) {
        var selected = $(".current-page");
        selected[0].scrollIntoView({block: "start", behavior: "smooth"});
    }
});