X
ďťż

jQuery - czy da się zwiekszyć odstęp czasowy pomiędzy animacjami?

       

Podstrony


telcocafe

Witam,
Mam taki kodzik JS:

<!-- $(document).ready(function(){ function wczytaj_tresc(co) { $.ajax({ url: 'tresc/'+co+'.txt', success: function(data){ $('.tresc').fadeOut(1500); //tu bym chciał opóźnienie $('.tresc').html(data); $('.tresc').fadeIn(1500).fadeTo(1500, 1); }, error: function(){ $('.tresc').html('<strong>Przepraszamy, wystąpił błąd</strong>'); } }); } $('a[href="#link1"]').click(function(){ wczytaj_tresc("pierwszy"); }); $('a[href="#link2"]').click(function(){ wczytaj_tresc("drugi"); }); }); -->

I problem polega na tym, że jeżeli mam otwarty jakiś link, i kliknę w jakiś inny, to do diva ładuje się zawartość podstrony tej, do której chcę przejść, po czym, div znika i pokazuje się jeszcze raz. Docelowo chciałbym uzyskać taki efekt, żeby treść, która jest na ekranie wygaszała się, i pokazywał się div z nową treścią.

Trochę zamotałem, bo nie wiem za bardzo jak to opisać, ale może ktoś zrozumie :)

Głównie chodzi mi o to jak opóźnić animację w miejscu komentarza w kodzie. Chciałbym, żeby najpierw div zniknął, a później wczytała się treść i pojawił się div z wczytaną treścią.



wystarczy użyć setTimeOut, przykładowe zastosowanie:
setTimeout("alert('tekst');", 2000);
Użytkownik PiKey edytował ten post 14 maj 2009, 13:48
możesz zrobić jeszcze jedno fadeOut, albo np fadeTo z podaniem wartości jaka już jest :) jQuery zrobi to jeszcze raz, chociaż już niepotrzebnie ;)

function microtime(get_as_float) { // http://kevin.vanzonneveld.net // + original by: Paulo Ricardo F. Santos // * example 1: timeStamp = microtime(true); // * results 1: timeStamp > 1000000000 && timeStamp < 2000000000 var now = new Date().getTime() / 1000; var s = parseInt(now); return (get_as_float) ? now : (Math.round((now - s) * 1000) / 1000) + ' ' + s; }

Możesz użyć tego do pobrania aktualnego timestampa i wykonywać pustą pętlę dopóki róznica miedzy czasem na poczatku pętli i w danym momencie nie będzie wystarczajaca.
Użytkownik someone edytował ten post 15 maj 2009, 11:04


Dzieki wszystkim za pomoc :)
Pozdrawiam

jest jeszcze prostsza metoda, dołaczasz jQuery timers (dział pluginy na stronie jQuery) i masz funkcje typu .delay(xxx)

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.

    Drogi uzytkowniku!

    W trosce o komfort korzystania z naszego serwisu chcemy dostarczac Ci coraz lepsze uslugi. By moc to robic prosimy, abys wyrazil zgode na dopasowanie tresci marketingowych do Twoich zachowan w serwisie. Zgoda ta pozwoli nam czesciowo finansowac rozwoj swiadczonych uslug.

    Pamietaj, ze dbamy o Twoja prywatnosc. Nie zwiekszamy zakresu naszych uprawnien bez Twojej zgody. Zadbamy rowniez o bezpieczenstwo Twoich danych. Wyrazona zgode mozesz cofnac w kazdej chwili.

     Tak, zgadzam sie na nadanie mi "cookie" i korzystanie z danych przez Administratora Serwisu i jego partnerow w celu dopasowania tresci do moich potrzeb. Przeczytalem(am) Polityke prywatnosci. Rozumiem ja i akceptuje.

     Tak, zgadzam sie na przetwarzanie moich danych osobowych przez Administratora Serwisu i jego partnerow w celu personalizowania wyswietlanych mi reklam i dostosowania do mnie prezentowanych tresci marketingowych. Przeczytalem(am) Polityke prywatnosci. Rozumiem ja i akceptuje.

    Wyrazenie powyzszych zgod jest dobrowolne i mozesz je w dowolnym momencie wycofac poprzez opcje: "Twoje zgody", dostepnej w prawym, dolnym rogu strony lub poprzez usuniecie "cookies" w swojej przegladarce dla powyzej strony, z tym, ze wycofanie zgody nie bedzie mialo wplywu na zgodnosc z prawem przetwarzania na podstawie zgody, przed jej wycofaniem.