Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> setinterval a przekazywanie danych
Avatarus
post
Post #1





Grupa: Zarejestrowani
Postów: 304
Pomógł: 0
Dołączył: 12.12.2006
Skąd: Pszów

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


Witam
Próbuje ten skrypt zmusić do zapamiętania ostatnich danych i kontynuowaniu przy następnym intervale, ale nici....możecie doradzić co jest nie tak?
  1. function odliczaj(policz_do,minelo_juz)
  2. {
  3. calosc=policz_do+minelo_juz;
  4. wynik=(minelo_juz/calosc)*100;
  5. rysuj = setInterval('rysowanie('+minelo_juz+','+calosc+','+policz_do+')',1000);
  6. }
  7. function rysowanie(minelo_juz,calosc,policz_do)
  8. {
  9. document.getElementById('licznik').style.width=wynik;
  10. document.getElementById('kontrola1').innerHTML="Policz do: " + policz_do;
  11. document.getElementById('kontrola2').innerHTML="Minęło juz: " + minelo_juz;
  12. document.getElementById('kontrola4').innerHTML="wynik: " + wynik;
  13. document.getElementById('kontrola3').innerHTML=document.getElementById('kontrola3').innerHTML + '<BR>Test';
  14. if((minelo_juz) > calosc)
  15. {
  16. clearInterval(rysuj);
  17. setTimeout('window.location="index.php?metoda=9"', lastms);
  18.  
  19. }
  20. else
  21. wynik =(minelo_juz/calosc)*100;
  22.  
  23.  
  24. }


skrypt działa bo testowe pole kontrola3 cały czas poszerza się o nową linię i słowo Test, ale zmiennie nie chcą się zapamiętać.

Z góry dzięki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Avatarus
post
Post #2





Grupa: Zarejestrowani
Postów: 304
Pomógł: 0
Dołączył: 12.12.2006
Skąd: Pszów

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


firebug to fajne narzędzie ale mi raczej przydaje się przy zakładaniu strony, szukaniu błędów i poprawianiu styli.
Przydało by się jak by był w stanie śledzić zmienne js itp.
Fakt faktem że już same wyszukanie błędów js to dużo, ale można więcej.

Gryzie mnie jedna rzecz.
Czemu ta globalność nie jest respektowana przy wywoływaniu funkcji.
Teraz całość wygląda tak

Kod
echo '
            <div id=otoczka>
                <div id=licznik></div>
            </div>
            <div id=kontrola1></div>
            <div id=kontrola2></div>
            <div id=kontrola4></div>
            <div id=kontrola3></div>
            ';
            ?>
            <script type="text/javascript">
var wynik=0;
var minelo_juz=<?php echo (date('U')-$lokacja[start]); ?>;
var policz_do=<?php echo (intval($lokacja[koniec])-date('U')); ?>;
var calosc=0;
function  odliczaj(policz_do,minelo_juz)
{

calosc=policz_do+minelo_juz;
rysuj = setInterval('rysowanie('+calosc+')',1000);
}
function rysowanie(calosc)
{
    wynik=(minelo_juz/calosc)*100;    
    document.getElementById('licznik').style.width=wynik;
    document.getElementById('kontrola2').innerHTML="Minęło juz: " + minelo_juz;
    document.getElementById('kontrola4').innerHTML="wynik: " + wynik;                                                
     if((minelo_juz) > calosc)
        {                                                                  
          clearInterval(rysuj);                                                                                                                              
          setTimeout('window.location="index.php?metoda=9"', 200);    
     }
     else minelo_juz++;
      

}
            <?php
            echo '
            
            odliczaj('.((intval($lokacja[koniec])-date('U'))).','.((date('U')-$lokacja[start])).');</script>';

ciekawi mnie czemu podczas przeładowania strony globalne nadpisują się na takie wartości jakie podam przez funkcjami a nie na to co serwuje skrypt z php

czyli jak przez zmiennymi mam
  1. var wynik=0;
  2. var minelo_juz=0;
  3. var policz_do=0;
  4. var calosc=0;

i wywołam potem funkcje np tak:
  1. odliczaj(10,15)
(dane 10 i 15 podaje php z obliczeń na dacie pobranej z bazy)
to wartości zmiennych nie są odpowiednio 10 i 15 albo 0 i 0 (tak jak by ignorował to co jest w funkcji.
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: 7.10.2025 - 10:14