Беда такая. Пытаюсь получить width и height блоков .panel, но мне выводит в процентах. Раньше все работало нормально. HTML: <div class="layout" style="border-color:#fff;"> <div class="panel" style="width:33.33%;height:66.66%;top:0;left:0;"></div> <div class="panel" style="width:33.33%;height:33.33%;top:66.66%;left:0;"></div> <div class="panel" style="width:66.66%;height:100%;top:0;left:33.33%;"></div> </div> Вот как выводит в лог Код (Text): Width: 33.33 Height: 66.66 Width: 33.33 Height: 33.33 Width: 66.66 Height: 100 Как сделать чтоб оно снова получало фактический размер в пикселях? .layout у него фиксировано 905px PS: .layout подгружается из базы с помощью ajax вместе с js
Если ты задал эти параметры в процентах style, то, при запросе из style получишь значение в процентах. Логично же. Чтобы реальные размеры объекта получать, надо обращаться к его методу getBoundingClientRect. Или к ему подобным. Либо к свойствам offsetWidth и offsetHeight. По ситуации смотри.
@Fell-x27, работало все норм) после перемещения js кода в php файл, началось так. Пока js был в файле js все работало норм) offsetWidth и offsetHeight не работают
Код (Javascript): $(".lay>.layout>div").each(function(i){ $(this).attr("id", "panel-"+(i+1)); var iwidth = $(this).width(); var iheight = $(this).height(); console.log("Width: "+iwidth); console.log("Height: "+iheight); $(this).attr("data-minwidth", iwidth); $(this).attr("data-minheight", iheight); });
Огосподи, жиквери.. Их ты просто вместо width и height писал? Через точку от JQueryObject, да? эхехе..
А надо, для начала, изучить хотя бы основы JS. --- Добавлено --- И да, а какая, собственно, проблема решается? Не адаптивная ли верстка посредством перелопачивания style в реальном времени?
Отличный совет, а главное бесполезный. Повторяю еще раз. Работало до тех пор пока скрипт не перенесли в php