Mmenu - 滚动到元素不工作
Mmenu - scroll to element not working
我已经实现了 Mmenu,我想添加一个功能来向下滚动到当前选定的元素 - 一个 class 名称为“.current-page”的 li 元素。
我已添加
$("html, body").animate({ scrollTop: $(".current-page").offset().top }, 1500);
到 Mmenu 代码 - 参见 Fiddle。
但是,它不起作用。页面没有滚动。
知道为什么它不起作用吗?
提前致谢。
这是我使用 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>
我为 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"});
}
});
我已经实现了 Mmenu,我想添加一个功能来向下滚动到当前选定的元素 - 一个 class 名称为“.current-page”的 li 元素。
我已添加
$("html, body").animate({ scrollTop: $(".current-page").offset().top }, 1500);
到 Mmenu 代码 - 参见 Fiddle。 但是,它不起作用。页面没有滚动。
知道为什么它不起作用吗?
提前致谢。
这是我使用 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>
我为 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"});
}
});