2015-06-04 14 views
12

Mam pasek postępu na mojej stronie (Bootstrap), który wygląda tak:Jquery zmienić Progress-bary aria-valuenow i szerokość css nieruchomość

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

Chciałbym zaktualizować go za pomocą jQuery, mam wykonałem już większość pracy i obliczyłem nową wartość, którą muszę wprowadzić, ale nie jestem pewien, jak kierować wartości Aria-valuenow i style=width.

Zakładając moim jQuery daje mi nową wartość +% jako zmienną o nazwie newprogress

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

$ ('# theprogressbar'). Attr ('aria-valuenow', wartość + '%'); i $ ("# theprogressbar"). attr ("szerokość", wartość + "%"); –

Odpowiedz

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

dzięki, że było na miejscu i pracował uczta. Uwaga: dla własnych celów musiałem dodać nowyprogress + '%', aby zapewnić, że wprowadził on szerokość jako%, a nie px. –

+0

Wartość 'aria-valuenow' powinna być bez'% '. W twoim oryginalnym pytaniu masz '%' w przykładzie i również stwierdzasz, że 'newprogress' zawiera już'% '. Dlatego ta odpowiedź nie dodała go ponownie. Ale nie powinieneś dodawać '%' do 'newprogress', a zamiast tego dodawać tylko tam, gdzie ustawiasz szerokość. Z Twojego komentarza rozumiem, że już to zrobiłeś. Po prostu komentuję, aby było jasne dla innych czytających to. –

0

Można zastosować atrybuty tych elementów, jak:

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

and 

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

jeśli wartość jest w zmiennej.

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

Aby ustawić szerokość Użyj width() sposób jQuery.

Aby uzyskać dostęp do aria-valuenow użyj attr().

Łącząc oba:

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

Można użyć

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

Albo można użyć .css w jQuery http://api.jquery.com/css/

0

To działa lepiej:

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

Witamy w SO. Zamiast po prostu wklejać kod, pomocne jest wyjaśnienie, dlaczego tak działa. W ten sposób pomagasz innym zrozumieć, dlaczego to działa. –

Powiązane problemy