Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Odwołanie się do metody w obiekcie
Forum PHP.pl > Forum > Przedszkole
kleofasso
Chciałbym odwałać się do tej samej metody w obiekcie wewnątrz setTimeout. Pytanie brzmi jak to zrobic smile.gif
  1. var Slider = {
  2.  
  3.  
  4. numer: 0,
  5. numer_wszystkich: 11,
  6. timer: 0,
  7. timeout: 0,
  8.  
  9.  
  10. slide: function slide(x){
  11. this.timeout = x;
  12. this.numer++;
  13. if(this.numer > this.numer_wszystkich){this.numer = 1;}
  14. var img = document.getElementsByTagName("IMG");
  15. img[0].src = "../projekt4/img/img"+this.numer+".jpg";
  16. window.setTimeout(this.slide(),this.timeout); // chodzi o this.slide(), czym zastąpić aby dowołać sie do tej samej metody
  17. },
trueblue
this.slide
kleofasso
Nie działa. Pasowałoby zebym tą funkcję użył razem z argumentem timeout lub tego samego x. Jak pisze samo this.slide wartość zwracana przez numer jest równa NaN.
trueblue
Wartość numer z tego co zauważyłem jest cały czas poprawna, natomiast timeout może być niezdefiniowana.
Pytanie tylko czemu za każdym razem chcesz przekazywać zmienną x i przypisywać ją do timeout?
markuz
[JAVASCRIPT] pobierz, plaintext
  1. var Test = {
  2.  
  3. i: 0,
  4.  
  5. run: function(x) {
  6. var _this = this;
  7. _this.i++;
  8. console.log(_this.i);
  9. window.setTimeout(function() {
  10. _this.run(x);
  11. }, x);
  12. }
  13.  
  14. }
  15.  
  16. Test.run(100);
[JAVASCRIPT] pobierz, plaintext


http://jsfiddle.net/01hpan0r/

O coś takiego Ci chodziło?
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.