@AnnaUniq

Как откатить insertBefore() для десктопа используя window.matchMedia?

Друзья! Вот код
function innerWidthheadline(w) {
      if (w.matches) { 
        jQuery('#main .banner .title h1').insertBefore('#main .mobile-categories');  
        console.log(true);
      } else {
        return false; 
      }
    }

    var w = window.matchMedia('(max-width: 768px)')
    innerWidthheadline(w)
    w.addListener(innerWidthheadline)


Суть работы: менее 768 ширины, заголовок перемещается из области баннера под шапку
скрин pix.my/BNyg6T
Все хорошо срабатывает при уменьшении разрешения, но если обратно сделать ширину более 768 происходит вот что
скрин pix.my/IxcTxY
Дело в том, что заголовок обязан при увеличении обратно перемещаться в блок из которого мы его перемести, т.е. как мне отменить insertBefore()?
с перезагрузкой страницы все работает, но мне необходимо, чтобы он работал без перезагрузки
Заранее спасибо!
  • Вопрос задан
  • 140 просмотров
Решения вопроса 1
@AnnaUniq Автор вопроса
Решение задачи
var title = jQuery('#main .banner .title h1');
    function innerWidthheadline(w) {
      if (w.matches) { 
        title.insertBefore('#main .mobile-categories');  
      } else {
         title.remove();
         jQuery("#main .banner .title").append(title);
      }
    }

    var w = window.matchMedia('(max-width: 768px)')
    innerWidthheadline(w)
    w.addListener(innerWidthheadline)


Я думаю это решение не очень верное в плане дальнейшей реализации более сложных вещей, но для новичков пойдет
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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