Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 28

Discussione: contatore

  1. #11
    Originariamente inviato da sharky86
    ups me sono accorto di avere dei problemi.. non so se si possono risolvere...

    1) se io tramite un form faccio il submit, poi non cambio pagina, il conttore finiscee aggiorna, vuole rimandare i dati del form. si puo bloccare il resend?
    al posto di reload metti
    location.href = "indirizzo della pagina"
    2) quando il contatore 1 finisce, passa qualche seocdno finche viene ricaricata la pagina. in questo periodo il secondo contatore salta dinuovo al valore iniziale e conta nuovamente.. lo si puo fermare quando il contatore principale finisce?
    Non l'ho ben capita. Ma il tempo per il reload non lo puoi preventivare. Una tolleranza di 2-3 secondi va preventivata. Non aspettarti sincronia tra client e server con metodi cosi' semplici.
    3) aggiuntivo: é complicato aggiungere un terzo valore, passato da php, che diminuisce di uno ogni votla che il contatore secodnario ha finito?
    No, ma prova a farlo tu. Crei la variabile (la chiami contatore_3) e metti

    contatore3--

    nell'apposito if

    poi crei un terzo div e lo riempi col valore di contatore3

    vedrai non e' difficile

    grazie acnora
    de nada


    igor [/QUOTE]

  2. #12
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    489
    ok grazie ci provoe te fo sapere...


    riguardo al punto 2 sopra, non si puo semplicemente mettere un "ferma_counter_2()" quando il contatore 1 finisce? fermerebbe il secondo contatore senza farlo risaltare al valore iniziale in quei 3 secondi...

  3. #13
    non so se ho capito. Pero' quando si perdono quei tre secondi si e' gia' nella nuova pagina. E quella funzione non servirebbe a niente.

  4. #14
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    489
    me sa che ho sbajato qlc.. non mi funziona il contatore 3. non fa vedere nulla.. questo é il codice che ho modificato:

    codice:
     <script>
    	var tempo_totale = '.$timelefttotalforcounter.'; // questo lo passi da PHP
    	var valore_reset = '.$strainsoltime.'; // anche questo
    	var contatore_3 ='.$remainingsoldierstotrain.'; //cicli da fare
    	var tempo_secondario = 5; // forse questo non serve... vedi lo sviluppo
    
    var data = new Date();
    var secondi_passati = 0;
    function conta() {
        nd = new Date();
        secondi_passati = ((nd - data) - (nd - data)%1000)/1000;
    	// ore minuti e secondi
    	ore = "" + ((tempo_totale - secondi_passati) - (tempo_totale - secondi_passati)%3600)/3600;
        minuti = "" + ((tempo_totale - secondi_passati)%3600 - ((tempo_totale - secondi_passati)%3600)%60)/60;
    	secondi = "" +(tempo_totale - secondi_passati)%60;
    	if (ore.length==1)
    	   ore = "0" + ore;
        if (minuti.length==1)
    	   minuti = "0" + minuti;
        if (secondi.length==1)
    	   secondi = "0" + secondi;
    	// secondario
    	tempo_secondario = (tempo_totale  - secondi_passati)% valore_reset;
    	ore_sec = "" +((tempo_secondario) - (tempo_secondario)%3600)/3600;
        minuti_sec = "" +((tempo_secondario)%3600 - ((tempo_secondario)%3600)%60)/60;
    	secondi_sec = "" +(tempo_secondario)%60;
    
    	if (ore_sec.length==1)
    	   ore_sec = "0" + ore_sec;
        if (minuti_sec.length==1)
    	   minuti_sec = "0" + minuti_sec;
    	if (secondi_sec.length==1)
    	   secondi_sec = "0" + secondi_sec;
    
    	//	Visualizzo il tempo principale
    	stringa = ore + "h " + minuti + "m " + secondi + "s ";
    	//	E quello secondario
        stringa_sec =  ore_sec + "h " + minuti_sec + "m " + secondi_sec + "s ";
    	document.getElementById("principale").innerHTML = stringa;
    	if(tempo_secondario==0) {
    		contatore_3 --;
    		document.getElementById("secondario").innerHTML = "00h 00m 00s";
    
    	} else {
    		document.getElementById("secondario").innerHTML = stringa_sec;
    	}
    	// finito il tempo totale? 
    	
    	if ((tempo_totale - secondi_passati)==0) {
    		location.href = "?tab=barracks";
    	} else {
    		setTimeout("conta()",1000);
    	}
    }
    
    </script>
    
    // e dove mi serve inserirlo ho usato
    
     <div id="contatore_3"> </div>

    semplicemente non mi fa vederenulla..

  5. #15
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    489
    riguardo al tuo ultimo post. cio che succede é che qundo va all anuova pagina, passa qualche secondo in questi secondi, il contatore secondario invece di stare fermo a 0, continua a contare. anche se i cicli sono finiti. cio che servirebbe, sarebbe fermare il contatore secodnario in modo da visualizzare 00h 00m 00s finche la pagian nuova é caricata.

  6. #16
    aggiungi:

    document.getElementById("contatore_3").innerHTML = contatore_3;

    dopo

    contatore_3--;

    (Usare gli stessi nomi non aiuta ma non dovrebbe dare problemi)

    Ad ogni modo il refresh in locale sul mio PC e' immediato e non osservo il tuo problema.

    Tra l'altro quando viene invocato il refresh il contatore dovrebbe fermarsi. Infatti c'e' un "else" che ha proprio questa funzione :master:

    In pratica per tutto il (poco) tempo che vedo la "clessidra" su FF il tempo resta a zero.

    Poi la pagina si ricarica.

    Non so bene cosa osservi tu

  7. #17
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    489
    perfetto ora funziona!

    ho ricontrollato e in effetti hai ragione. mi sa che mi confondevo con la prima versione postata dall altro ragazzo. scusami


    cmq ora é perfetto.. grazie milel a tutti e due!

    ciao ciao

    igor

  8. #18
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    489
    cé un piccolissimo problema con il contatore 3..... ma proprio piccolo piccolo. dunque, dato che all inizio quando il contatore parte, il contatore 2 é a 0, gia da subito mi toglie 1.. e in piu se aggiorno la pagina il contatore 3 appare appena quando il contatore due ha finito il suo ciclo.

  9. #19
    aggiungi uno al contatore 3 (con js o con PHP) ;-)

    per l'altro problema non ho ben capito, quando ho un secondo ci do un'occhio

  10. #20
    ok, metti

    document.getElementById("contatore_3") etc.. etc..

    dopo

    document.getElementById("principale").innerHTML = stringa;

    e non dove ti avevo detto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.