Javascript 打开汉堡包菜单重置网页上的滚动
我最近在我的网站上增加了一个移动汉堡菜单。然而,我的网站主要由一个页面组成。当我打开菜单时,无论您在页面中滚动到哪里,它都会将您带到顶部。此外,这似乎发生在打开菜单的开始以及关闭菜单时。我可以说,因为我在点击ID链接时注意到屏幕滚动,但当一个人退出菜单时,页面的滚动会回到顶部。我相信这个问题与我使用的JavaScript代码有关。我把它弄得一团糟,但我找不到问题所在。感谢您的帮助 以下是JSFIDLE上的示例: 上面是菜单覆盖的Jquery脚本。Javascript 打开汉堡包菜单重置网页上的滚动,javascript,jquery,html,Javascript,Jquery,Html,我最近在我的网站上增加了一个移动汉堡菜单。然而,我的网站主要由一个页面组成。当我打开菜单时,无论您在页面中滚动到哪里,它都会将您带到顶部。此外,这似乎发生在打开菜单的开始以及关闭菜单时。我可以说,因为我在点击ID链接时注意到屏幕滚动,但当一个人退出菜单时,页面的滚动会回到顶部。我相信这个问题与我使用的JavaScript代码有关。我把它弄得一团糟,但我找不到问题所在。感谢您的帮助 以下是JSFIDLE上的示例: 上面是菜单覆盖的Jquery脚本。 提前谢谢 将菜单按钮更改为div并在其上粘贴id
提前谢谢 将菜单按钮更改为div并在其上粘贴id(这将删除跳转),然后在javascript中添加一个单击关闭按钮 e、 g
希望这有帮助您可以在onClick函数中使用该事件,并将其设置为preventDefault()
这把它修好了!谢谢你,我投了更高的票,但我还是要去看新的。
/* For Overlay on Menu */
$(document).ready(function(){
$(".button a").click(function(){
$(".overlay").fadeToggle(200);
$(this).toggleClass('btn-open').toggleClass('btn-close');
});
});
$('.overlay').on('click', function(){
$(".overlay").fadeToggle(200);
$(".button a").toggleClass('btn-open').toggleClass('btn-close');
open = false;
});
<div id="nav2">
<div class="button">
<div id=menu class="btn-open" ></div>
</div>
$(document).ready(function(){
$("#menu").click(function(){
$(".overlay").fadeToggle(200);
$(this).toggleClass('btn-open').toggleClass('btn-close');
});
#menu { cursor: pointer; }
$(".button a").click(function(event){
event.preventDefault();
....
}