2016-09-09 54 views
0

我試圖阻止滾動我的網站,直到單擊按鈕,然後允許滾動。我可以成功阻止滾動,但是我無法解除此功能。這裏是我的代碼:防止窗口滾動,然後按鈕單擊後解除綁定-jquery

在此先感謝!

$('body').addClass('noscroll'); 

$('.fold-trigger').click(function(event) { 
    $('body').removeClass('noscroll') 
    console.log('removed'); 
}); 


if ($('body').hasClass('noscroll')){ 
    $(window).bind('scroll', function(){ 
    $('body').on({ 
    'mousewheel': function(e) { 
     if (e.target.id == 'el') return; 
     e.preventDefault(); 
     e.stopPropagation(); 
     } 
    }) 
    }); 
} else { 
    $('body').on({ 
    'mousewheel': function(e) { 
     if (e.target.id == 'el') return; 
     e.preventDefault(false); 
     e.stopPropagation(false); 
    } 
    }) 
} 
} 

回答

1

如果你想在你的身體上切換這個類,你應該改變你的邏輯。

$('body').on('mousewheel', function(e) { 
    if ($('body').hasClass('noscroll')) { 
    e.preventDefault(); 
    e.stopPropagation(); 
    } 
}); 

然後根據需要添加和刪除noscroll類。

相關問題