2015-04-04 2 views
1

В настоящее время у меня есть рабочий сайт, содержащий индикатор выполнения, используя Bootstrap. У меня также есть идентификатор, который загружает данные из URL JSON в следующем формате: http://api.bfhstats.com/api/playerInfo?plat=pc&name=1ApRiL&output=jsHTML класс стиля с идентификатором?

В верхней части моей странице у меня есть следующий код для индикатора выполнения:

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

и сценарий в дно:

document.getElementById("progressbar").innerHTML = data["player"]["rank"]["next"].relProg+'%'; 



       } 

индикатор выполнения извлекает данные, необходимые в строчном формате, так что поэтому он правильно показывает% от JSON, однако это не меняет ширину стиля. Проблема дефинативно в теге стиля, и я пробовал такие вещи, как

style="width: #progressbar" 

Однако это не работает. Кажется странным, что текст работает, но не фактическая ширина.

+0

Когда я сделать, чтобы передняя часть строки состояния исчезает примерно так: [ссылка] (http://i.gyazo.com/394353e23e5695ae6bd009d520353b72.png) – Stewartps

ответ

2

Вы должны вручную изменить ширину индикатора выполнения, используя document.getElementById("progressbar").style.width после получения данных о прибытии percentage с сервера.

Чтобы изменить ширину стиля:

var percentage = data["player"]["rank"]["next"].relProg, 
    progressbar = document.getElementById("progressbar"); 

progressbar.innerHTML = percentage+'%'; 
progressbar .style.width = percentage+'%'; 
+0

Спасибо! Вот и все! – Stewartps

+1

Добро пожаловать :) – mohamedrias

1

Вы меняете innerHTML не стиль элемента. Вы можете попробовать что-то вроде:

var x = document.getElementById("progressbar"); 
x.innerHTML = ....; // change the inner HTML 
x.style.width = ...; // change the width... 
+1

это getElementById и не getElementByID – mohamedrias

+0

Спасибо, это исправило проблему. – Stewartps

1
.style.width = data["player"]["rank"]["next"].relProg+'%'; 

сделать его строку, если потребности.

+0

Замечательно, спасибо. .style.width сделал трюк – Stewartps

+1

вы добрый. –

1
var progressbar = document.getElementById("progressbar"); 
var yourWidth = data["player"]["rank"]["next"].relProg+'%'; 
progressbar.innerHTML = progressbar.style.width = yourWidth; 
Смежные вопросы