@MFNIK

Как добавить элемент DIV после каждого второго и третьего элемента при разном разрешении?

Добрый день! Помогите реализовать задачу!

Существует разметка с разной высоты контентом в колонках

<div class="row home-menu ">
          <div class="col-md-4 col-sm-6"></div>
          <div class="col-md-4 col-sm-6"></div>
          <div class="col-md-4 col-sm-6"></div>
          <div class="col-md-4 col-sm-6"></div>
          <div class="col-md-4 col-sm-6"></div>
          <div class="col-md-4 col-sm-6"></div>
          <div class="col-md-4 col-sm-6"></div>
          <div class="col-md-4 col-sm-6"></div>
          <div class="col-md-4 col-sm-6"></div>
        </div>


Необходимо что бы при разрешении (col-md-4) 992 px и выше элемент <div class="clearfix"></div> добавлялся после каждого третьего элемента div.
При разрешении от (col-sm-6) 991 px и ниже, переместить элемент <div class="clearfix"></div> после второго элемента DIV , а после третьего удалить!

Думал решить классом hidden, не работает, display: none, но clearfix все равно срабатывает.

Вот код который есть

$('.home-menu div').each(function(i,e){
        if (((i+1) % 3) == 0)
    $(this).after('<div class="clearfix"></div>');


Пробывал так:

$('.home-menu div').each(function(i,e){
        if (((i+1) % 3) == 0)
    $(this).after('<div class="clearfix hidden-sm hidden-xs"></div>');
       else  (((i+1) % 2) == 0)
    $(this).after('<div class="clearfix hidden-md hidden-lg hidden-xs"></div>');


Все добавляет но hidden не работает....

Может кто нибудь напишет код JS при разных разрешениях?
  • Вопрос задан
  • 607 просмотров
Решения вопроса 3
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Не страдайте ерундой.

.home-menu > :nth-child(2n+1) { clear: left; }

@media (min-width: 992px) {
  .home-menu > :nth-child(2n+1) { clear: none; }
  .home-menu > :nth-child(3n+1) { clear: left; }
}
Ответ написан
Комментировать
все это делается уже на движке, средствами php
и вместо клеар фикс можно использовать кол-12-разрешение.
Тогда не нужно будет рисовать медийки.
И есть куда более простое решение
http://defile.ru/catalog
Ответ написан
Krasnodar_etc
@Krasnodar_etc
fundraiseup
Стоп. Бутстрап. Зачем clearfix ? Может я чего не догоняю, но у тебя и так на разрешении sm - 2 элемента в ряд, на md - 3 элемента

.home-menu {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: space-between;
flex-wrap: wrap;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
iiiBird
@iiiBird Куратор тега Bootstrap
Пока ты спишь - твой конкурент совершенствуется
<div class="row home-menu ">
          <div class="col-md-4 col-sm-6"></div>
          <div class="col-md-4 col-sm-6"></div>
		  <div class="clearfix visible-sm"></div> //через каждые 2
          <div class="col-md-4 col-sm-6"></div>
		  <div class="clearfix visible-md visible-lg"></div> //через каждые 3
          <div class="col-md-4 col-sm-6"></div>
		  <div class="clearfix visible-sm"></div>
          <div class="col-md-4 col-sm-6"></div>
          <div class="col-md-4 col-sm-6"></div>
		  <div class="clearfix visible-sm"></div>
		  <div class="clearfix visible-md visible-lg"></div>
          <div class="col-md-4 col-sm-6"></div>
          <div class="col-md-4 col-sm-6"></div>
		  <div class="clearfix visible-sm"></div>
          <div class="col-md-4 col-sm-6"></div>
		  <div class="clearfix visible-md visible-lg"></div>
        </div>
Ответ написан
Ваш ответ на вопрос

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

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