Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SOLVED][jQuery] Dynamiczne blokowanie przewijania na tabeli
KotWButach
post
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 10
Dołączył: 8.02.2012

Ostrzeżenie: (0%)
-----


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. });


Ten post edytował KotWButach 27.11.2014, 12:11:28
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 17:47