Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Najpierw outfading, poten ajax+innerHTML, potem infading, Jquery
expert
post
Post #1





Grupa: Zarejestrowani
Postów: 211
Pomógł: 4
Dołączył: 29.10.2008

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


Mam taki kod:
  1. function aktualnosci(){
  2. $("#bodys").fadeOut("700");
  3. ajax_obiekt = typeof XMLHttpRequest == "undefined"?new ActiveXObject('Microsoft.XMLHttp'):new XMLHttpRequest();
  4.  
  5. if(ajax_obiekt)
  6. {
  7. var doda = '&a='+new Date().getTime();
  8. ajax_obiekt.open("POST", '../ajax.php?mode=aktualnosci'+doda);
  9.  
  10. ajax_obiekt.onreadystatechange = function()
  11. {
  12. if (ajax_obiekt.readyState == 1) {
  13. document.getElementById('loadbodys').style.display="";
  14. }
  15. if (ajax_obiekt.readyState == 4) {
  16. if (ajax_obiekt.status == 200) {
  17. document.getElementById('loadbodys').style.display="none";
  18. document.getElementById('bodys').innerHTML=ajax_obiekt.responseText;
  19. $("#bodys").fadeIn("700");
  20. }
  21. }
  22. }
  23.  
  24. ajax_obiekt.send(null); }
  25. }


Chodzi o to, że chce, żeby był najpierw outfading, potem ajax z pobraniem treści strony i podmiana w id="bodys", i potem infading.

Jednak niby wszystko dobrze działa, ale okazuje się, że podczas znikania jest zamieniana teść strony. Jak to rozwiązać?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
singles
post
Post #2





Grupa: Zarejestrowani
Postów: 121
Pomógł: 26
Dołączył: 2.07.2007

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


Jeśli już używasz jQuery, to dlaczego nie użyć wbudowanych w niego metod do obsługi AJAXa? Będzie prościej.

Zakładam, że obiekt którego treść podmieniasz ma id 'bodys', to może iść mniej więcej tak:

Kod
$('bodys').fadeOut(700, function() {
    var doda = '&a='+new Date().getTime();
    $(this).load('/ajax.php?mode=aktualnosci' + doda, function() {
        $(this).fadeIn(700);
    }    
}


Z tego co widzę w Twoim kodzie, to wysyłasz żądanie POSTem. U mnie napisałem za pomocą load(), a to korzysta z GETa. Twój kod nie wskazuje na to, żeby POST był potrzebny, ale w razie potrzeby możesz pokombinować z $.post().

Ten post edytował singles 7.06.2009, 21:38:54
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: 12.10.2025 - 06:50