2015-06-04 3 views
12

ich einen Fortschrittsbalken auf meiner Seite (Bootstrap), der so aussieht ändern müssen:JQuery Fortschritt-Bars aria-valuenow und CSS-Eigenschaft width

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

Ich möchte aktualisieren es über jQuery, ich habe Ich habe bereits den Großteil der Arbeit erledigt und den neuen Wert berechnet, den ich einbringen muss, bin mir aber nicht sicher, wie ich die Werte Aria-valuenow und style=width anvisieren soll.

Unter der Annahme, meine jQuery gibt mir den neuen Wert +% als newprogress

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

$ ('# theprogressbar'). Attr ('aria-valenow', Wert + '%'); und $ ('# theprogressbar') .attr ('Breite', Wert + '%'); –

Antwort

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

danke, das war genau richtig und hat ein Vergnügen. Hinweis: Für meine eigenen Zwecke musste ich einen neuen + +% hinzufügen, um sicherzustellen, dass die Breite als% und nicht als px eingegeben wurde. –

+0

Der Wert für 'aria-valenow' sollte ohne '%' sein. In Ihrer ursprünglichen Frage haben Sie ein '%' in dem Beispiel und geben auch an, dass 'newprogress' bereits'% 'enthält. Deshalb hat diese Antwort es nicht wieder hinzugefügt. Aber Sie sollten '%' nicht zu 'newprogress' hinzufügen und stattdessen nur dort hinzufügen, wo Sie die Breite festgelegt haben. Von deinem Kommentar verstehe ich, dass du das schon getan hast. Ich möchte nur kommentieren, um es anderen verständlich zu machen. –

0

Sie genannt Variable als die Attribute dieser Elemente anwenden können:

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

and 

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

, wenn der Wert in der Variable ist.

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

zu Breiter Verwendung width() Methode von jQuery eingestellt.

Um auf aria-valuenow zuzugreifen, verwenden Sie attr().

beide Kombination:

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

Sie

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

verwenden könnte Oder Sie könnten in jquery verwenden .css- http://api.jquery.com/css/

0

Das funktioniert besser:

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

Willkommen bei SO. Anstatt nur Code einzufügen, hilft es, wenn Sie eine Erklärung geben, warum dies funktioniert. Auf diese Weise hilfst du anderen zu verstehen, warum das funktioniert. –