Witam
Chciałem poprosić was o pomoc

Problem

Chciałbym po kliknięciu w przycisk by włączała się blokada przewijania głównego okna gdy przewijam tabelę, chciałbym by można było to włączać i wyłączać, zatem napisałem następujący kod który niestety działa tylko pod warunkiem umieszczenia klasy w sposób statyczny nie dynamiczny.

  1.  
  2. $('.no-scroll-window').on('mousewheel DOMMouseScroll', function (e) {
  3.  
  4. var e0 = e.originalEvent,
  5. delta = e0.wheelDelta || -e0.detail;
  6.  
  7. this.scrollTop += (delta < 0 ? 1 : -1) * 30;
  8. e.preventDefault();
  9. });
  10.  
  11. $("body").on('click', '.no-off-scrolling', function () {
  12. $(this).closest('section').find('div').addClass('no-scroll-window'); // div zawiera scroll.
  13. });
  14.  


ROZWIAZANIE

  1. $('body').on('mousewheel DOMMouseScroll', '.no-scroll-window', function (e) {
  2.  
  3. var e0 = e.originalEvent,
  4. delta = e0.wheelDelta || -e0.detail;
  5.  
  6. this.scrollTop += (delta < 0 ? 1 : -1) * 30;
  7. e.preventDefault();
  8. });
  9.  
  10. $("body").on('click', '.no-off-scrolling', function () {
  11.  
  12. if (!$($(this).closest('section').find('.no-scroll-window')).length) {
  13. $(this).closest('section').find('div').addClass('no-scroll-window');
  14. $(this).css('background-position', '-230px -85px');
  15.  
  16. } else {
  17. $(this).closest('section').find('div').removeClass('no-scroll-window');
  18. $(this).css('background-position', '-230px -0px');
  19.  
  20. }
  21.  
  22. });