Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] Metoda klasy odpala inna metode klasy
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
comanderv
witam,
to ponownie ja i ja moja przygoda z klasami smile.gif
chce aby metoda klasy odpalila mi inna metode klasy ale przez callback JQuery'owej .animate:
  1. ...
  2. this.plynprawo=function()
  3. {
  4. if(this.x<460)
  5. {
  6. oblicz = Math.sin(this.x);
  7. piksel = parseInt(oblicz*50);
  8. znak = ( Math.random()==0)? "+=" : "-=";
  9. ran1 = Math.random()*400;
  10. ran2 = Math.random()*50;
  11.  
  12. $("#fish"+this.id).animate({
  13. left:"+="+(100+ran2)+"px",
  14. top: znak+piksel+"px"}, 1000+ran1,'linear' ,
  15. function()
  16. {
  17. //alert('kuniec...'+this.id);
  18. [b]this.plynprawo();[/b]
  19. });
  20. }
  21. else { imgTag.src='ryba1.png';}
  22. }
  23. ...

juz wiem ze w ten sposob tego nie zrobie, w jaki sie da? hipotetycznie majac 4 metody i jedna metoda wywolujaca te 4...
ja brak pomyslu, internet tez wiele na ten temat nie mowi ;/
wookieb
[JAVASCRIPT] pobierz, plaintext
  1. var tutaj = this;
  2. $("#fish"+this.id).animate({
  3. left:"+="+(100+ran2)+"px",
  4. top: znak+piksel+"px"}, 1000+ran1,'linear' ,
  5. function()
  6. {
  7. //alert('kuniec...'+this.id);
  8. tutaj.plynprawo();
  9. });
[JAVASCRIPT] pobierz, plaintext
comanderv
no dziala, dzieki smile.gif

a tak jeszcze na marginesie bo cos mi sie ze zmiennymi dzieje:
  1. this.x+=parseInt(ran2);

wywala blad "setting an argument that only has a getter" czyli ze tej zmiennje nie moge zwiekszac... a potrzebuje dla kazdego obiektu pamietac wspolrzedna x i y (top, left przy position: relative), jak to zorganizowac ?

edit: zrobilem tez tym tutajem smile.gif smiga chodz troche sie mi liczby losowe piernicza ale nic...damy rade, dzieki wielkie smile.gif
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.