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

Author Роман Чернышов    Category JavaScript / jQuery, jQuery     Tags , Комментариев 0 Дата 11 Май

width Ширина, высота и позиция элемента. Примеры javaScript VS jQuery.Как удобно порою воспользоваться средствами 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 все реализовано очень просто и удобно.

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

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

О блоге и авторе

Добро пожаловать на блог веб-разработчика! На протяжении многих лет, начиная с 2009 года, я занимаюсь созданием специализированных сайтов, сервисов и крупных веб-порталов. Мною было создано несколько сотен сайтов, большинство из которых работают на ПО созданном под заказ, а также на готовом ПО которое я разрабатываю на протяжении всего периода моей деятельности. Это: CMS "Совместные покупки", CMS "osRealty", CMS "Спорт прогнозы" и многое другое.

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

Поиск по блогу
Категории
Архив
Новое на сайте
Блогеры пишут
  • Роман Чернышов: Для работы капчи на PHP 5.6, замените в файле class.captcha.php строку 264 $ifunc( $this -> i [...]
  • Роман Чернышов: Схема такая: 1) На сайте есть виртуальные кошельки (далее ВК) 2) При пополнении пользователем ВК, [...]
  • Александр: Может скрипт комментариев блокирует сообщения с кодом? Или как длинный текст не проходит?
  • Александр: Пытаюсь в который раз здесь показать код, но страница обновляется, и не сообщения, ни любого оповеще [...]
  • Роман Чернышов: Лично у меня интерес к продаже ссылок пропал уже давно. Преимущество сапы, это то - что ссылки можно [...]
Портфолио Все работы


www.detskiy-mir.net
www.detskydoctor.ru
www.betelit.ru
www.all-alliance.ru
www.videogonok.ru
www.carpfishing.by
www.property-greek.com
www.domcons.ru

с 2009 года по сегодняшний день, создано более 300 сайтов...