Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyciek pamięci (jQuery), jedna zakładka zajmuje 1GB pamięci w chrome
kamloo21
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 8.07.2012

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


Hej
Mam problem z jquery , napisałem kilka animacji , wszystko ładnie działa lecz po pewnym czasie (jakieś 10min) drastycznie zwiększa się użycie pamięci które dochodzi do 1GB na 1 zakładke w Chrome.
Domyślam się że animacja jest źle zloopowana ale wydaję mi sie że jest OK. Próbowałem kilku różnych rzeczy

http://wytestuj.cba.pl/tyla/send.php Chodzi mi o tą animacje konkretnie (na reszcie strony jest inna więc nie zmieniajcie zakładki)

  1. $(document).ready(
  2. function animuj(){
  3. $("#loga").animate(
  4. { backgroundPosition: "+=2000" }, 19000 //animacja paska na dole
  5. ).animate(
  6. { backgroundPosition: "-=2000" }, 19000 //animacja paska na dole
  7. );
  8.  
  9. $("p.active").prev("p").css("border-bottom-color","#363732"); //zmiana koloru ramki nad .active
  10.  
  11. $("#menu p").hover( //animacja menu
  12. function(){
  13. $(this).prev().css("border-bottom-color","#363732");
  14. $(this).addClass("hover");
  15. },
  16. function(){
  17. if(!$(this).hasClass('active'))
  18. $(this).prev().css("border-bottom","#666 dotted 2px");
  19.  
  20. $(this).removeClass("hover");
  21. }
  22. );
  23.  
  24. setInterval(animuj,40000);
  25. }
  26. );
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zegarek84
post
Post #2





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


po pewnym czasie masz wieeele razy odpaloną funkcję animuj i cyklicznie w postępie lawinowym podpinany setInterval(animuj,40000) - w tym miejscu co jest wystarczył by setTimeOut... lub troszkę inaczej to zapisać...

ps. nie potrzebnie wiele razy podpinasz .hover... prędzej byś skożystał z .delegate (coś jak .live)

ps2. skoro elementy #loga i #menu sa w drzewie DOM po .ready to mógłbyś te elementy wyszukać i zapamiętać w jakiejś zmiennej by ich nie szukać stale po selektorach CSS

ps3. jeśli elementy #menu nie zmieniają sie dynamicznie to wystarczyło by raz podpiąć .hover...

Ten post edytował zegarek84 2.05.2013, 14:01:37
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: 11.10.2025 - 10:38