Адаптивный переброс элемента
Главная / Форумы / Форумы сообщества / Темы оформления / Адаптивный переброс элементаКак адаптивно переносить выбранный элемент из доного контейнера в другой и обратно
| Автор | Сообщение |
|---|---|
|
Джанго
Участник |
Адаптивный переброс элемента
Чет не могу сообразить, как адаптивно (например при превышении ширины в 991px) переносить элемент в другое место HTML-документа. А при уменьшении ширины вовращать его назад. |
| Благодарности отсутствуют | |
|
spectre
Участник |
Re: Адаптивный переброс элемента
Было такое когда карточка товара была сложно сверстана. Решается все связкой Javascript / jQuery плюс 4 момента:
Реализация примерно такая:
jQuery(function($) {
var element = $('span#element_id'),
target = $('div#target_id'),
source = $('div#source_id'),
breakpoint = 768;
function moveElement() {
// var element_clone = element.clone(true);
if (($(window).width() >= breakpoint)) {
// Screen out of limits
if (element.parent() !== target) {
element.detach().appendTo(target);
}
} else {
// Screen within limits
if (element.parent() !== source) {
element.detach().appendTo(source);
}
}
};
// Run on load & resize
$(window).resize(moveElement);
// Initial call to check element location on load
moveElement();
});
Надо просто проверку делать каждый раз на присутствие элемента в контейнере чтобы они не плодились. И в моем варианте кроме проверки |
| Поблагодарили: 2 | |
|
admin
Администратор |
Re: Адаптивный переброс элемента
За кейс отдельное спасибо! Если вся история происходит внутри одного контейнера, можно ограничиться медиа-запросами и использованием flex-модели: <div id="parent"> <span class="elem1">element 1</span> <span class="elem2">element 2</span> </div> ... и стили:
div#parent { display: flex; gap: .5rem; }
div#parent span.elem1 { order: 1; }
div#parent span.elem2 { order: 2; }
@media (min-width: 768px) {
div#parent span.elem1 { order: 2; }
div#parent span.elem2 { order: 1; }
}
Как-то так) |
| Благодарности отсутствуют | |
|
Джанго
Участник |
Re: Адаптивный переброс элемента
Благодарю за помощь! Функция это то, что и требовалось. Один вопрос: читал что если обрабатывается |
| Благодарности отсутствуют | |
|
Аристарх
Участник |
Re: Адаптивный переброс элемента
При классическом подходе рекомендуется обрабатывать оба события и для плавности запускать функцию на исполнение. Я тоже слышал про то, что |
| Благодарности отсутствуют | |
|
admin
Администратор |
Re: Адаптивный переброс элемента
Главное в этой ситуации - не оказаться в глупом положении и доказывать заказчику или самому себе что ты все делал правильно, а на выходе получилось не очень. |
| Благодарности отсутствуют |