Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Добавление clearfix через определенное количество элементов (https://javascript.ru/forum/jquery/61118-dobavlenie-clearfix-cherez-opredelennoe-kolichestvo-ehlementov.html)

malsyst 05.02.2016 07:22

Добавление clearfix через определенное количество элементов
 
Всем привет. Ребята, нужна помощь
Используется bootstrap для верстки. Разметка следующая:
<div class="row items">
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<!--и т.д -->
</div>

Как известно в одном row не может быть в сумме более 12, иначе нужно делать очистку с помощью clearfix:
<div class="row items">
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="clearfix visible-xs-block"></div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="clearfix visible-sm-block"></div>
	<div class="clearfix visible-xs-block"></div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="clearfix visible-xs-block"></div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="clearfix visible-sm-block"></div>
	<div class="clearfix visible-xs-block"></div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="clearfix visible-xs-block"></div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="clearfix visible-sm-block"></div>
	<div class="clearfix visible-xs-block"></div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="clearfix visible-xs-block"></div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="clearfix visible-sm-block"></div>
	<div class="clearfix visible-xs-block"></div>
	<!--и т.д -->
</div>


Можно ли добавлять эти строки:
<div class="clearfix visible-sm-block"></div>
<div class="clearfix visible-xs-block"></div>

…после каждого 2 и 4 элемента item соответственно, так как добавлять руками clearfix возможности нет.:help:

рони 05.02.2016 07:32

Цитата:

Сообщение от malsyst
Можно ли добавлять эти строки:

да

malsyst 05.02.2016 07:38

рони,
Помогите реализовать, пожалуйста!

рони 05.02.2016 07:57

malsyst,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
   .clearfix.visible-sm-block {
       border: 1px dashed Gray; padding: 5px;
   }
   .clearfix.visible-xs-block {
       border: 1px dashed #FF0000; padding: 5px;
   }
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
   <script>
   $(function(){
     $(".row.items").each(function(indx, el){
           $(".item", el).each(function(i, elem){
             !(++i % 2) && $("<div>",{"class": "clearfix visible-xs-block"}).insertAfter(elem);
             !(i % 4) && $("<div>",{"class": "clearfix visible-sm-block"}).insertAfter(elem);

            })

           });
   })
  </script>
</head>

<body>
<div class="row items">
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<div class="item col-xs-6 col-sm-4">Lorem ipsum dolor sit amet</div>
	<!--и т.д -->
</div>

</body>

</html>

malsyst 05.02.2016 08:08

рони,
Спасибо огромное!


Часовой пояс GMT +3, время: 05:52.