我有一个移动菜单,打开和关闭使用jquery通过添加一个css类具有显示:块,而菜单div显示:无。 jquery代码有一个部分,它应该关闭菜单,当一个点击注册菜单div之外。一切正常运行:$("body").scrollTop(scrollpos)
。这应该是滚动用户回到scrollTop(0)
发生后他离开的地方,菜单已关闭,但它根本不滚动,滚动卡在顶部。任何帮助将不胜感激。谢谢。移动菜单关闭后恢复滚动位置
编辑:下面是一个例子:https://jsfiddle.net/mufwwudj/
$(function() {
var menutoggle = $(".menu-toggle");
var sidenav = $(".side-nav");
menutoggle.click(function() {
var scrollpos = $('body').scrollTop();
if (!$("body").hasClass("m-nav-open")) {
$("body").scrollTop(0).addClass("m-nav-open");
}
$(document).mouseup(function (e){
if (!sidenav.is(e.target) && sidenav.has(e.target).length === 0 && !menutoggle.is(e.target) && menutoggle.has(e.target).length === 0){
if ($("body").hasClass("m-nav-open")) {
$("body").scrollTop(scrollpos).removeClass("m-nav-open");
}
}
});
});
});
你能分享一个URL来解决这个问题吗? jsfiddle将工作。 – Vishwanath
看起来代码是这样的:jsfiddle.net/mufwwudj尝试在打开菜单之前滚动到“ZZZZZ”,然后打开菜单并关闭它。而不是滚动回ZZZZ它保持在顶部 –
你在哪个浏览器检查这个。您的代码在第一次尝试时适用于我。 – Vishwanath