2016-09-09 1 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クラスを追加して削除してください。

関連する問題