Ширина, высота и позиция элемента. Примеры javaScript VS jQuery.

Author Автор: Роман Чернышов    Опубликовано: 11 мая 2012

Как удобно порою воспользоваться средствами JavaScript и одним движением руки, внести изменения в структуру HTML или изменить свойства CSS элементов страницы. Для всего этого существует множество библиотек(фреймворков) на JS, которые упрощают нашу жизнь, но они не всегда бывают оправданы, т.к. их размер постоянно растет, а таскать за собой по всюду толстую библиотеку на каждый чих не разумно. В данной публикации я рассмотрю два варианта работы с элементами HTML, а именно определение их ширины, высоты и позиционирования на странице.

Первый вариант с использованием просто JavaScript, функция развращающая нужные нам значения.

function getElementPosition(elemId)
{
    var elem = document.getElementById(elemId);
 
    var w = elem.offsetWidth;
    var h = elem.offsetHeight;
 
    var l = 0;
    var t = 0;
 
    while (elem)
    {
        l += elem.offsetLeft;
        t += elem.offsetTop;
        elem = elem.offsetParent;
    }
 
    return {"left":l, "top":t, "width": w, "height":h};
}

Все предельно просто, вызываем функцию с указанием ID нужного нам элемента, в ответ получаем объект со свойствами ширины, высоты, а также позиционирование слева и сверху относительно родительского элемента.

Второй пример, с использованием jQuery. Так же относительно просто, достаточно лишь только подключить библиотеку и наслаждаться встроенными функциями.

var pos = $("#id_element").position();
alert(pos.top); // содержит значение отступа сверху
alert(pos.left); // содержит значение отступа слева
 
var pos = $("#id_element").offset();
alert(pos.top); // содержит значение отступа сверху
alert(pos.left); // содержит значение отступа слева

.position() — возвращает координаты относительно родительского элемента.
.offset() — возвращает координаты относительно начала страницы.
$(«#id_element»).offset({top:50, left:200}) — устанавливает элементу с ID id_element координаты относительно начала страницы.

Получение ширины и высоты элемента:

var width = $("#id_element").width();
var height = $("#id_element").height();
 
//устанавливаем ширину 200px
$("#id_element").width('200');

Как видно в jQuery все реализовано очень просто и удобно.

Надеюсь эти два примера работы с шириной, высотой и позиционированием элементов на странице вам пригодятся. Во всяком случае данный пост, носит характер — заметки.

Оставить комментарий

Автор блога
Роман Чернышов
Веб-разработчик,
Full Stack
Senior, Architect
PHP, JavaScript, Node.JS, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Моя книга
Книга. Веб-разработчик. Легкий вход в профессию
Печатная книга
Веб-разработчик.
Легкий вход в профессию
Купить за 159₽
Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

Мои проекты
Insurance CMS Love Crm CMS Совместные покупки Мой PHP Framework Хостинг для моих клиентов Лицензии на мой софт и поддержка