Позиционирование через js
имеется список
ul { position: relative; } li { position: absolute; } <ul> <li></li> <li></li> <li></li> <li></li> ...... <li></li> <li></li> </ul> ширина у каждого LI разная. вообщем нужно чтоб при загрузке страницы скрипт выставил значения LEFT каждому LI чтобы они выстроились как при float, может немного не понятно выразился, вообщем у если длинна Первого LI 100, второго 120, третьего 130, четвёртого 90 и т.д, скрипт ставил им Left таким образом - у первого left:0, второго left:100 (отступ для первого пункта как бы), третий 120 (отступ для 1 и 2 пункта). как понимаю тут всё вокруг .each крутится , только не знаю как это написать. |
Все очень просто! управлять значениями можно так :
document.getElementById('NameDIV').style.left=100+ 'px'; и нужно разбить их на классы! иначе не распознаешь к какому объекту обращаться! |
(function() { for(var i = 0, els = document.getElementsByTagName('ul')[0].getElementsByTagName('li'), l = els.length, allWidth = 0, elWidth = ''; i < l; i++) { els[i].style.left = allWidth + "px"; elWidth=window.getComputedStyle(els[i],null).getPropertyValue("width"); allWidth += parseInt(elWidth.substring(-2)); }; })(); Severtain, классы не дают уникальность. Тогда уж на id разбивать. |
Часовой пояс GMT +3, время: 19:49. |