2015-06-04 10 views
12

larghezza css ho una barra di avanzamento sulla mia pagina (bootstrap) che assomiglia a questo:Jquery cambiare progresso-bar aria-valuenow e proprietà

<div id="theprogressbar" class="progress-bar progress-bar-u" 
    role="progressbar" aria-valuenow="75%" aria-valuemin="0" 
    aria-valuemax="100" style="width: 75%"> 

vorrei aggiornarlo tramite jQuery, ho ho già svolto gran parte del lavoro e calcolato il nuovo valore che ho bisogno di inserire, ma non sono sicuro su come indirizzare i valori Aria-valuenow e style=width.

Supponendo che il mio jQuery mi dà il nuovo valore +% come una variabile chiamata newprogress

$('#theprogressbar'). *(please help me finish this line)* (newprogress) 
+0

$ ('# theprogressbar'). Attr ('aria-valuenow', value + '%'); e $ ('# theprogressbar'). attr ('width', value + '%'); –

risposta

34
$('#theprogressbar').attr('aria-valuenow', newprogress).css('width',newprogress); 
+2

grazie che era perfetto e ha funzionato a meraviglia. Nota: per i miei scopi ho dovuto aggiungere newprogress + '%' per assicurarmi che abbia inserito la larghezza in% anziché in px. –

+0

Il valore per 'aria-valuenow' dovrebbe essere senza'% '. Nella tua domanda originale, hai un '%' nell'esempio e dichiari anche che 'newprogress' include già'% '. Ecco perché questa risposta non l'ha aggiunto di nuovo. Ma non dovresti aggiungere '%' a 'newprogress' e invece aggiungerlo solo dove hai impostato la larghezza. Dal tuo commento, ho capito che l'hai già fatto. Sto solo commentando per far capire agli altri che leggono questo. –

0

È possibile applicare gli attributi di questi elementi come:

$('#theprogressbar').attr('aria-valuenow',value+'%'); 

and 

$('#theprogressbar').attr('width',value+'%'); 

se il valore è in variabile.

$('#theprogressbar').attr('aria-valuenow',newprogressvalue); 
0

Per impostare uso larghezza width() metodo di jQuery.

Per accedere a aria-valuenow utilizzare attr().

Combinando entrambi:

$('#id').width(newprogress).attr('aria-valuenow', newprogress); 
4

si potrebbe usare

$('#theprogressbar').attr("aria-valuenow","the new value"); 
$('#theprogressbar').attr("style","width:"+theincrementingvalue); 

Oppure si potrebbe usare css in jQuery http://api.jquery.com/css/

0

Questo funziona meglio:

var newprogress=80; 
$('#id').width(newprogress + "%").attr('aria-valuenow', newprogress); 
+0

Benvenuti in SO. Invece di incollare semplicemente il codice, è utile dare una spiegazione sul motivo per cui funziona. In questo modo, aiuti gli altri a capire perché questo funziona. –

Problemi correlati