Visualizzazione risultati 1 fino 23 di 23

Discussione: Aiuto progressbar a tempo

  1. #1
    Guest

    Predefinito Aiuto progressbar a tempo

    Ciao a tutti, vorrei creare una progressbar a tempo. In pratica io ho un tempo es 3 minuti e voglio che questa progressbar in 3 minuti si completi, non so se ho reso l'idea.

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,753

    Predefinito

    Puoi farlo usando 2 div uno dentro l'altro: quello esterno, che funge da contenitore, di larghezza k. Quello interno invece potresti farlo "pieno", e controlli la larghezza tramite javascript (la cosa più facile e immediata, controllarla tramite la percentuale). Tempo fa ne avevo fatta una in questo modo.

    Oppure, puoi cercare "progress bar javascript" su google.

    Ciao!

  3. #3
    Guest

    Predefinito

    grazie della risposta veloce.
    Ne ho trovate molte solo che non vanno a tempo continuo cioè 1%, 2% ecc ma tu imposti un tempo e la progress finisce dopo quel tempo.

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,753

    Predefinito

    Non ho capito il problema: non ti piace che vada "a scatti"?

    Ciao!

  5. #5
    Guest

    Predefinito

    Ne ho viste alcune dove tu imposti una durata tipo 2 min e la progress finisce in 2 min però va a scatti per es passa da 1% a 7% poi si ferma 5 secondi e parte a 50% ecc
    A me servirebbe una slider dove io imposto un valore in secondi e la progress va 1%,2%3% poi ovviamente dipende dal tempo

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,753

    Predefinito

    Io dicevo di fare una cosa tipo:

    Codice HTML:
    <html>
    <head><title>ciao</title>
    <style type="text/css">
    #contenitore
    {
       width: 200px;
       height: 20px;
       border: 3px solid black;
    }
    
    #interno
    {
       width: 0%;
       height: 20px;
       background-color: #FF0000;
    }
    </style>
    </head>
    <body>
    <script type="text/javascript">
    var percentuale = 0;
    setInterval('var interno = document.getElementById("interno"); interno.style.width = percentuale+"%"; interno.innerHTML = (percentuale++)+"%"; if(percentuale > 100) percentuale = 0;',1000);
    </script>
    <div id="contenitore"><div id="interno"> </div></div>
    </body>
    </html>
    Poi, te lo puoi gestire come vuoi. Puoi renderlo anche meno "scattoso" lavorando con i px, invece che con la percentuale...

    Ciao!

  7. #7
    Guest

    Predefinito

    Allora grazie era quello che volevo ;)
    Solo 1 cosa:
    - per modificare il tempo devo modificare il numero 1000 ma il tempo è in millesecondi? Se si come trasformo i secondi in millesecondi?

  8. #8
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,753

    Predefinito

    moltiplicandoli per 1000

    ...Comunque quel codice era solo un esempio per farti capire come fare... poi lo devi personalizzare come vuoi.

    Ciao!

  9. #9
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Sì, quelli sono millisecondi e ogni 1000 aumenta dell'1%.

  10. #10
    Guest

    Predefinito

    Però nel tuo esempio c'è 1000 quindi la progress si dovrebbe completare in 1 sec?

  11. #11
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,753

    Predefinito

    Ogni secondo incrementa la percentuale dell'1%, quindi per fare 100% impiega 100 secondi.
    Però, ti consiglio di personalizzarlo ulteriormente, e non lasciarlo "così", modificando soltanto il "1000" con il numero che ti serve...

    Ciao!

    EDIT: ecco, ti aveva risposto radiodelmomento

  12. #12
    Guest

    Predefinito

    non avevo visto xd
    Adesso cerco un po di modificarlo e adattarlo al mio sito.
    Un'ultima cosa se io ho un tabella con dei bottoni vorrei fare che un utente quando clicca su uno dei bottoni gli si apre la progress sopra alla tabella e con il valore numerico del bottone.

  13. #13
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,753

    Predefinito

    Alla pressione dei bottoni mostri i due div (se non ci sono), e avvi la setInterval()

    Ciao!

  14. #14
    Guest

    Predefinito

    si però così il tempo è sempre 1000 io devo fare ad es che nel primo bottone il tempo è 100, nel secondo 560 nel 3 671 ecc

  15. #15
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,753

    Predefinito

    Prova a fare una funzione a cui passi il nome del div "interno" e i secondi, e lei provvede ad avviare la progress bar... Ovvero, una funzione del genere:
    Codice:
    function progressbar(id,secondi)
    {
    
    }
    ah, dimenticavo: potrebbe esserti utilissima e far risparmiar lavoro la .animate() di jQuery, se lo hai incluso...

    Ciao!

  16. #16
    Guest

    Predefinito

    mi può fare anche solo una riga per vedere?
    Scusa ma il javascript non lo digerisco

  17. #17
    Guest

    Predefinito

    scusate l'intrusione...
    come faccio a creare una progress bar statica, in cui immettere da sola i valori del progresso in percentuale?
    cosa dovrei cambiare nel codice scritto sopra?
    grazie per l'aiuto

  18. #18
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,753

    Predefinito

    Se la vuoi statica, non è necessario nemmeno javascript: imposti soltanto la percentuale nel css di "interno". Così l'esempio del 10%:

    Codice HTML:
    <!doctype html>
    <html>
    <head><title>ciao</title>
    <style type="text/css">
    #contenitore
    {
       width: 200px;
       height: 20px;
       border: 3px solid black;
    }
    
    #interno
    {
       width: 10%;
       height: 20px;
       background-color: #FF0000;
    }
    </style>
    </head>
    <body>
    
    <div id="contenitore"><div id="interno"> </div></div>
    
    </body>
    </html>
    Ciao!

  19. #19
    Guest

    Predefinito

    Grazie mille!! ^_^

  20. #20
    Guest

    Predefinito

    e se volessi mettere anche esplicito il fatto che la progressione sia ad esempio al 10%? come facci a scrivere 10% sulla progress bar?

  21. #21
    Guest

    Predefinito

    con questo : <div id=testo style="position:absolute;....">testo</div>
    mi mette il testo sotto...io lo vorrei dentro la barra..

  22. #22
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,753

    Predefinito

    L'eventuale testo andrà dentro il div id="interno", no? (magari impostando un white-space:nowrap; per non far andare a capo il testo se fosse più lungo del contenitore interno...)

    Codice HTML:
    <div id="contenitore"><div id="interno">eventuale testo </div></div>
    Ciao!
    Ultima modifica di alemoppo : 08-09-2012 alle ore 13.17.34

  23. #23
    Guest

    Predefinito

    grazie ancora!!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •