Otóż mam pewien problem z funkcją animate() w jQuery.
Chodzi o to że napisałem pewien widget które działa sekwencyjnie, czyli wykonuje w kółko funkcje .animate(). Niestety zauważyłem że sposób tez obciaża mocno procesor.
Dokładnie chodzi o przewijany pasek z wiadomościami (coś jak na tvn24), gdy pasek tez przejdzie caly ekran i przestanie być widoczny koncze działanie skryptu, w innym wypadku przesuwam go dalej co 800px. aż dojdzie do końca.
Kod wyglądam niej więcej tak:
function scrollLeft() { $('#pasek').animate({ left: '-=800' }, 300000, "linear", function(){ // gdy pasek jeszcze nie jest za ekranem przegladarki, ponownie uruchamiamy funkcje scrollLeft() w celu dalszego przewijania aż dojdzie do końca var lastOffset = $('#pasek').find('li:last').offset(); if (lastOffset.left >= 0) { scrollLeft(); } else { // gdy pasek wyjdzie za obszar przeglądarki, konczymy dzialanie i ukrywamy go $('#pasek').fadeOut(); $('#pasek').html(''); } }); } scrollLeft();
czy można to jakoś zoptymalizować?