Ширина блоков из списка
Уважаемые коллеги, доброго времени суток.
Суть вопроса такова: есть разметка - <ul> <li></li> <li></li> <li></li> <li></li> </ul> далее есть код JS:
/*объект значений ширины*/
var wid = {
one: {
value: 150
},
two: {
value: 100
},
three: {
value:50
},
four: {
value:400
}
}
/* список элементов*/
var elems = document.querySelectorAll('ul li');
/*Далее необходимо задать всем li из списка ширину - значения в объекте wid*/
Вопрос. Как это сделать в цикле???? Помгите плиз. заранее спасибо |
Цитата:
|
// for (var s in components){
// var percent = Math.round((components[s].value*100)/components[s].parent);
// for (var i =0;i < spans.length;i++) {
// spans[i].setAttribute('style', 'width:' + percent + '%');
// }
// }
|
for (var s in components){
var percent = Math.round((components[s].value*100)/components[s].parent);
for (var i =0;i < spans.length;i++) {
spans[i].setAttribute('style', 'width:' + percent + '%');
}
}
|
вот так не работает((((
|
вернее вот так правильно
for (var s in wid){
var percent = Math.round((wid[s].value*100)/40);
for (var i =0;i < elems.length;i++) {
elems[i].setAttribute('style', 'width:' + percent + '%');
}
}
|
Роман Андреевич, делай сразу полный пример. Огрызки никому не нужны.
|
Цитата:
|
Цитата:
elems[i].style.width=percent + '%'; |
Полный пример:
/*объект значений ширины*/
var wid = {
one: {
value: 150
},
two: {
value: 100
},
three: {
value:50
},
four: {
value:400
}
}
var elems = document.querySelectorAll('ul li');
/*перебираем ключи у объекта ширин*/
for (var s in wid){
var percent = Math.round(wid[s].value/100));
}
/*добавляем каждому li свою ширину из объекта*/
for (var i =0;i < elems.length;i++) {
elems[i].setAttribute('style', 'width:' + percent + '%');
}
В итоге он всем выдает 50% |
| Часовой пояс GMT +3, время: 00:44. |