防止JQuery窗口滚动时响应的导航菜单打开
问题描述:
我想阻止我的响应导航菜单消失,同时打开由于窗口滚动功能,我如何禁用功能,而导航菜单打开,因为我想菜单留下来固定和不消失,直到菜单再次关闭?防止JQuery窗口滚动时响应的导航菜单打开
的JavaScript窗口开放导航
$(window).scroll(
{
previousTop: 0
},
function() {
var currentTop = $(window).scrollTop();
if (currentTop < this.previousTop) {
$(".wrapper").show();
} else {
$(".wrapper").hide();
}
this.previousTop = currentTop;
});
$(document).ready(function() {
$('#hamburger').click(function() {
var clicks = $(this).data('clicks');
if (clicks) {
$('.responsive-nav').toggleClass('responsive-nav-view');
}
else {
$('.responsive-nav').toggleClass('responsive-nav-view');
}
$(this).data("clicks", !clicks);
});
});
这里是我的功能按钮动画的汉堡包负责打开关闭响应导航
$(document).ready(function(){
$('#hamburger').click(function(){
$(this).toggleClass('open');
});
});
有问题的网站是http://testsiteclash.co.uk
谢谢
答
我想你想要做的是把检查中,显示/功能隐藏.wrapper
只保留菜单中打开
if (currentTop < this.previousTop) {
$(".wrapper").show();
} else if (!$('#hamburger').hasClass('open')) {
$(".wrapper").hide();
}
要停止窗口滚动
$(window).scroll({previousTop: 0}, function (e) {
if ($('#hamburger').hasClass('open')){
e.preventDefault();
e.stopPropagation();
return false;
}
var currentTop = $(window).scrollTop();
if (currentTop < this.previousTop) {
$(".wrapper").show();
} else {
$(".wrapper").hide();
}
this.previousTop = currentTop;
});
谢谢,这只会在菜单打开时禁用它吗? –
惊人的感谢,作品一种享受,我如何停止在这个事件上滚动身体? –
@PaulStephenDavis编辑答案底部应该防止在身体上滚动。 – Razzildinho