@mebipus

Как вырезать часть содержимого блока в другой блок?

Хочу разбить содержимое блока на 2 колонки, примерно одинаковые по высоте. Вторая колонка должна начинаться с элемента с классом .delimiter. Элемент, ближайший к середине, я нашел. Как теперь лучше вырезать из первой колонки элементы, начиная с него самого?
$(document).ready(function () {
    var firstColumn = $('.prop-columns .prop-column:first');
    var secondColumn = $('.prop-columns .prop-column:last');

    var firstColumnHeight = firstColumn.height();

    if (firstColumnHeight > 0) {
        var columnsMiddle = firstColumn.offset().top + (firstColumnHeight / 2);

        $(firstColumn).find('.delimiter').each(function (i) {
            var distance = $(this).offset().top - columnsMiddle;
            if (distance > 0) {
                //
            }
        });

        //
    }
});
  • Вопрос задан
  • 2450 просмотров
Решения вопроса 1
mr_T
@mr_T
Web-разработчик
В приведенном коде функция find найдет тебе только непосредственно элемент с классом delimeter, а не те элементы, которые идут после него. Еще непонятно, зачем оборачивать в $ firstColumn, который уже является jquery-объектом. Нужно поправить код как-то так
firstColumn.find('.delimiter').prev().nextAll().each( ... );

А внутри each будет достаточно просто делать
secondColumn.append($(this));
...так как здесь ты не копируешь элемент, а перемещаешь его в другой элемент.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы