Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak dokończyć wykonywanie skryptu?
Forum PHP.pl > Forum > Po stronie przeglądarki
Vasquez21
Witam.

Mam na stronie taką funkcje:
  1. <?php
  2. var xmlHttp
  3. var tekst
  4.  
  5. function addToWishlist(idp, idk)
  6. { 
  7. xmlHttp=GetXmlHttpObject()
  8. if (xmlHttp==null)
  9.  {
  10.  alert ("Browser does not support HTTP Request")
  11.  return
  12.  }
  13. tekst = "txtHint"+idp
  14. var url="js/addToWishlist.php"
  15. url=url+"?id_p="+idp+"&&id_k="+idk
  16. url=url+"&sid="+Math.random()
  17. xmlHttp.onreadystatechange=stateChanged_add
  18. xmlHttp.open("GET",url,true)
  19. xmlHttp.send(null)
  20. }
  21.  
  22.  
  23.  
  24. function stateChanged_add() 
  25. { 
  26. if (xmlHttp.readyState==|| xmlHttp.readyState=="complete")
  27.  {
  28. setTimeout("Kom1()",0);
  29. setTimeout("Kom2()",1000);
  30. setTimeout("Kom3()",2500);
  31.  
  32.  } 
  33. }
  34.  
  35. function Kom1() {
  36. document.getElementById(tekst).innerHTML="<font color=orange>Dodaję produkt...</font>"
  37. }
  38.  
  39. function Kom2() {
  40. document.getElementById(tekst).innerHTML="<font color=orange>Produkt dodany</font>"
  41. }
  42.  
  43. function Kom3() {
  44. document.getElementById(tekst).innerHTML=xmlHttp.responseText 
  45. }
  46.  
  47. function GetXmlHttpObject()
  48. {
  49. var xmlHttp=null;
  50. try
  51.  {
  52.  // Firefox, Opera 8.0+, Safari
  53.  xmlHttp=new XMLHttpRequest();
  54.  }
  55. catch (e)
  56.  {
  57.  //Internet Explorer
  58.  try
  59. {
  60. xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  61. }
  62.  catch (e)
  63. {
  64. xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  65. }
  66.  }
  67. return xmlHttp;
  68. }
  69. ?>


Ma ona za zadanie po tym jak użytkownik kliknie w odnośnik "Dodaj produkt", dodawać do bazy wybrany produkt, poprzez uruchomienie "addToWishlist.php". Wszystko działa jak należy. Użytkownik klika w link i pojawiają mu się z lekkim opóźnieniem kolejne komunikaty:
1."Dodaję produkt..."
2."Produkt dodany"
3.(i znów) "Dodaj produkt"

Problem w tym, że na jednej stronie mam wiele produktów i teraz jeśli kliknę w jeden link, a zaraz po tym w drugi, to przy tym pierwszym zatrzymuje mi komunikaty np. w połowie (na "Produkt dodany"). Czy da się jakoś zmodyfikować skrypt aby komunikaty pokazały się do końca?
zur887
skróć czasy
Kod
setTimeout("Kom1()",0);
  setTimeout("Kom2()",1000);
  setTimeout("Kom3()",2500);


czemu dajesz kod js w otagowanie PHP?
Vasquez21
Skrócenie czasu to tylko częściowe rozwiązanie. Mimo wszystko gdybym jednak chciał, żeby skrypt działał w tym tempie to nie ma innego rozwiązania?

"ostagowanie PHP?"

nie bardzo rozumiem :/
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.