Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

JavaScript Timer ?

[es] :: Javascript i AJAX :: JavaScript Timer ?

[ Pregleda: 2035 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

balkan7

Član broj: 119255
Poruke: 82
85.30.71.*



Profil

icon JavaScript Timer ?11.07.2008. u 20:43 - pre 192 meseci
Kako da mogu naprvit timer koji ce da otkucuje minuta, primer (ostalo jos 5 minuta za download) ali prije toga da proveruje php variabla na kojoj je vreme (minuta), nakon toga ako vec isteklo vreme da prikaze forma.
 
Odgovor na temu

jazzieDev
Dino Ivankov
freelancer
Beograd

Član broj: 177955
Poruke: 17
*.dynamic.sbb.rs.



Profil

icon Re: JavaScript Timer ?12.07.2008. u 16:41 - pre 192 meseci
Citat:
balkan7: Kako da mogu naprvit timer koji ce da otkucuje minuta, primer (ostalo jos 5 minuta za download) ali prije toga da proveruje php variabla na kojoj je vreme (minuta), nakon toga ako vec isteklo vreme da prikaze forma.


Hmm... ne znam sta ta php varijabla treba da radi, ali samo javascriptom mozes to uraditi.
Ako vec imash php timer, onda bi morao nekim asonhronim pozivom da proveravas timer u odredjenom vremenskom intervalu, sto, po meni nema smisla (praviti js timer da proverava kolika je vrednost php timera). Timer se lako radi i samo sa js:

Code:
var m = 120; // broj sekundi <- ovo eventalno mozes izvuci iz phpa 

var t1 = setTimeout("funkcija()", 1000);

function funkcija(){
    if (m<=0){
        prikaziFormu(); // funkcija koja prikazuje formu
        clearTimeout(t1);
    } else {
        m--;
        minuta = parseInt(m/60);
        sekundi = m%60;
        document.getElementById('timer').innerHTML = minuta + ':' + sekundi;
    }
}


Ako je ovo za neki dl site, mogao bi da smestas vreme u par promenjivih, jer bi jedna lako mogla da se 'ishakuje' pa cak i iz address bara.
 
Odgovor na temu

balkan7

Član broj: 119255
Poruke: 82
85.30.71.*



Profil

icon Re: JavaScript Timer ?12.07.2008. u 20:43 - pre 192 meseci
mozda tvoj radi eto nisam probao po sto sam se snaso, ali ostalo je jos jedan problem kod moj kod, taj problem je kad vreme istice mislim minuta i sekunda dobijas alert pa onda refresh na sajtu, ali kad dobijem refresh counter minuta oped prikazuje ali sad na neki cudan nacin sa minusom minuta, meni treba kad uradi refresh na sajtu onda oped se proveruje vreme dal je isteko, ako je isteko daje se forme za popunavanje, ali nije tako u sledeci kod ili mozda gresim negde.

Code:
echo "<script type=\"text/javascript\">
// koliko minuta
var mins = $expire;

// koliko sekunda
var secs = mins * 60;

function countdown() {
    timer = window.setTimeout('Decrement()',1000);
}
function Decrement() {
    if (document.getElementById) {
        minutes = document.getElementById(\"minutes\");
        seconds = document.getElementById(\"seconds\");
        // if less than a minute remaining
        if (seconds < 59) {
            seconds.innerHTML = secs;
        } else {
            minutes.innerHTML = getminutes();
            seconds.innerHTML = getseconds();
        }
        secs--;
        timer = window.setTimeout('Decrement()',1000);
        if (mins == '0' && secs == '0') { secs = '0'; window.clearTimeout(timer); alert("Klick OK za sledeci post"); window.location.href = \"test.php\"; }
    }
}
function getminutes() {
    // minutes is seconds divided by 60, rounded down
    mins = Math.floor(secs / 60);
    return mins;
}
function getseconds() {
    // take mins remaining (as seconds) away from total seconds remaining
    return secs-Math.round(mins *60);
}

</script>";



to je ovo:
Code:
if (mins == '0' && secs == '0') { secs = '0'; window.clearTimeout(timer); alert("Klick OK za sledeci post"); window.location.href = \"test.php\"; }
 
Odgovor na temu

balkan7

Član broj: 119255
Poruke: 82
85.30.71.*



Profil

icon Re: JavaScript Timer ?12.07.2008. u 23:28 - pre 192 meseci
Bas sam promenio kod ali oped dobijam ono sto neocekujem :)

Code:
if (mins <= 0 && secs <= 0) { clearTimeout(timer); document.getElementById(\"load\").innerHTML = \"Loading...\"; setTimeout('redirect(\'test.php\')', 4000); }


kad prikaze 0:0 znaci dobijem Loading pa nakon 4 sekunda redirect na dokument tako da ja sam postavio na isti dokument ali oped znaci dobijem 0:0 pa jos jedan redirect i tada je sve super.

Interesuje me zasto na prvi redirect nakon 4 sekunda nece da otvori forme a vreme je isteklo.

php kod:
Code:
<?php 
$vreme = time();
$minus = $row['date'] - $vreme;
$expire = date("i", $minus);
$provera_datuma = date("d-m-Y H:i:s", $row['date']);
$datum = date("d-m-Y H:i:s");
if ($datum <= $provera_datuma){
java script code here....
}?>
 
Odgovor na temu

jazzieDev
Dino Ivankov
freelancer
Beograd

Član broj: 177955
Poruke: 17
*.dynamic.sbb.rs.



Profil

icon Re: JavaScript Timer ?20.07.2008. u 12:35 - pre 191 meseci
Hmmm.. ne vidim nigde kod za fukciju redirect(), pa ne mogu da ti kazem nista za to... ali sam primetio par cudnih stvari...

minutes = document.getElementById(\"minutes\");
seconds = document.getElementById(\"seconds\");

Ove dve vrednosti su Html objects, i pri poredjenju sa 59 (if seconds<59) nisam siguran sta se dobija. da bi dobio ono sto ti treba, koristi:

minutes = parseInt(document.getElementById(\"minutes\").innerHTML);
seconds = parseInt(document.getElementById(\"seconds\").innerHTML);

To ce ti vratiti integere sa minutima i sekundama, koje kasnije mozes koristiti.

Ne treba ti uslov if(document.getElementById), osim ako ti ne dolazi neko sa IE4 :D

Sad pogledah, to sto dobijas negativne vrednosti je verovatno do toga sto ne ocistis timeout... prekopaj malo po netu oko scope-ova u js.
 
Odgovor na temu

[es] :: Javascript i AJAX :: JavaScript Timer ?

[ Pregleda: 2035 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.