Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]uruchomienie funkcji dla dwóch zdarzeń
Forum PHP.pl > Forum > Przedszkole
artek
Mam funkcję, nieistotne jaką

  1. <script>function A(){...}</script>


jak wywołać ją poprawnie dla okna i zdarzeń resize() i addEventListener()?

  1. <script>function init() {
  2. window.resize(A).addEventListener('scroll', A);
  3. }
  4. window.onload = init();</script>
viking
Masz tu przykłady https://developer.mozilla.org/en-US/docs/We...ddEventListener
Szukaj Event Listener with anonymous function
artek
Cytat(viking @ 3.12.2015, 13:09:49 ) *
Masz tu przykłady https://developer.mozilla.org/en-US/docs/We...ddEventListener
Szukaj Event Listener with anonymous function


nie znalazłem, ale może też dobrze nie wytłumaczyłem, mam metodę i chcę by się wykonała, kiedy wykryje się scroll myszką, bądź zmiana rozmiaru okna
viking
  1. ['scroll', 'resize'].forEach(function(e){
  2. window.addEventListener(e, function(){resize(A);},false);
  3. });
artek
Cytat(viking @ 3.12.2015, 15:25:55 ) *
  1. ['scroll', 'resize'].forEach(function(e){
  2. window.addEventListener(e, function(){resize(A);},false);
  3. });


niestety nie działa
  1. function icons(){
  2. if(600 < jQuery(window).width()){
  3. var distanceY = window.pageYOffset,
  4. sharePost = document.querySelector(".share-post"),
  5. elementHeight1 = jQuery('.header-wrapper').height(),
  6. elementHeight2 = jQuery('.page-heading').height(),
  7. elementHeight3 = jQuery('.wp-picture').height(),
  8. elementHeight4 = jQuery('.date').height(),
  9. elementHeight5 = jQuery('.fixed-header').height(),
  10. shrinkOn;
  11.  
  12. shrinkOn = elementHeight1 + elementHeight2 + elementHeight3 + elementHeight4 + elementHeight5;
  13.  
  14. if (distanceY > shrinkOn) {
  15. classie.add(sharePost,"smaller");
  16. } else {
  17. if (classie.has(sharePost,"smaller")) {
  18. classie.remove(sharePost,"smaller");
  19. }
  20. }
  21.  
  22. var vpH = jQuery(window).height(),
  23. st = jQuery(window).scrollTop(),
  24. y = jQuery('.ssba').offset().top,
  25. elementHeight = jQuery('.ssba').height();
  26.  
  27. if (y < (vpH + st)) {
  28. classie.remove(sharePost,"smaller");
  29. }
  30. }
  31. }
  32.  
  33. function init() {
  34. ['scroll', 'resize'].forEach(function(e){
  35. window.addEventListener(e, function(r){resize(icons);},false);
  36. });
viking
A widzisz w tym kodzie funkcję resize? Bo ja tylko icons. Poza tym nie powiedziałeś że używasz jquery.
  1. jQuery(window).on('scroll resize', icons);


Na przyszłość patrz tez w konsoli jakie błędy dostajesz.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.