Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> loading bar po czasie
Papub
post
Post #1





Grupa: Zarejestrowani
Postów: 113
Pomógł: 1
Dołączył: 17.02.2006

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


Witam serdecznie. Mam taką małą wizję ale nie wiem jak ją wykonać smile.gif Po naciśnięciu na przycisk przesyłam zmienną metodą POST poprzez bibliotekę Jquery. Chcę zrobić tak żeby po upływie 3 sekund i nie otrzymaniu jeszcze odpowiedzi pojawił się taki animowany gif ładowania. Mam funkcje

function loader() {
$("#img_back").css({ opacity: 0.5 });
$("#img_back").delay(3000).fadeIn(1);
$("#load").delay(3000).fadeIn(1);
}

function unloader() {
$("#img_back").hide(1);
$("#load").fadeOut(1);
}

#load to animowany gif, #img_back takie wielki tło.

Wszystko się rozchodzi o to jeżeli w trakcie działania tego delaya przyjdzie odpowiedź z posta to ma nie wykonywać funkcji loader a jeżeli jest już wykonywana bo np. upłynęło 5 sekund to ma wykonać funkcję unloader. Można prosić o jakieś propozycje rozwiązania tego problemu ?

Go to the top of the page
+Quote Post
Deamos
post
Post #2





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 28.11.2010

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


jQuerowy $.ajax ma coś takiego jak timeout, który po tym wywołuje hangle error. Jak robisz getPost

Zamiast $.post użyj $.ajax w którym możesz zastosować hangle beforeSend i success.
Jakoś tak, nie wiem czy dobrze Ciebie zrozumiałem smile.gif


Kod
$.ajax({
    beforeSend: function(){
        setTimeout('loader()', 3000);
    },
    success: function(dane){
        unloader();
    }
});
Go to the top of the page
+Quote Post
Papub
post
Post #3





Grupa: Zarejestrowani
Postów: 113
Pomógł: 1
Dołączył: 17.02.2006

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


Przetestuje wieczorkiem ale patrząc na to myślę, że to bardzo dobre rozwiązanie i będzie ok. Lepiej przenieść się na to ajaxowe rozwiązanie a nie czyste $post. Dzięki bardzo za pomoc. Pozdrawiam

Prawie git ale nie wywołuje funkcji loader(). Cały skrypt działa poprawnie, robi co ma robić. Jego założeniem jest poruszanie się po strukturze katalogów. Po naciśnięciu 2 razy na katalog do pliku show_folders.php wysyłana jest wiadomość w jakim jesteśmy aktualnie katalogu i takie tam. Tylko chciałbym zrobić tak, że jak ktoś ma wolniejszy internet i odpowiedź skryptu wyświetlającego stukturę plików jeszcze nie przyjdzie to ma pokazać taki loading bar.


  1. var ile_razy_nacisnieto = 0;
  2. $("#back_line").hide();
  3. $(".folders li").live('dblclick', function () {
  4. var co_rozdzielic = $(this).children('div').text();
  5. var rozdziel = co_rozdzielic.split(".");
  6. if(rozdziel[1]) {
  7. return false;
  8. } else {
  9. if(ile_razy_nacisnieto == 0) {
  10. file_name +="/"+$(this).children('div').text();
  11.  
  12. var dataString = 'file_nam='+file_name+'&path=' + who;
  13. $.ajax({
  14. type: "POST",
  15. data: dataString,
  16. url: "show_folders.php",
  17. beforeSend: function(){
  18. setTimeout("loader()", 2000);
  19. },
  20. success: function(data){
  21. unloader();
  22. $("#back_line").show();
  23. $("#content_left_folders_in").html(data);
  24. ile_razy_nacisnieto = 0;
  25. ile_zaznaczonych = 0;
  26. }
  27. });
  28. $("#up_link").html('<a href="java script:jQuery(\'#uploadify\').uploadifySettings(\'folder\',\''+who+file_name+'\');$(\'#uploadify\').uploadifyUpload();"><img src="graph/add_ico.jpg" title="Zapisz" id="save_file_disc"/></a>');
  29. ile_razy_nacisnieto++;
  30. }
  31. }
  32. });
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 11:52