Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Выравнивание блоков для сайта js (https://javascript.ru/forum/dom-window/66858-vyravnivanie-blokov-dlya-sajjta-js.html)

garfild304 15.01.2017 00:06

Выравнивание блоков для сайта js
 
Помогите пожалуйста...как сделать что бы блоки меньше 100 px в длину не затрагивались... (остались как есть).


window.onload = function() {

  setTimeout(function() {

      var mainDivs = document.getElementsByClassName("blok1");

      var maxHeight = 0;

      for (var i = 0; i < mainDivs.length; ++i) {

       if (maxHeight < mainDivs[i].clientHeight) {

          maxHeight = mainDivs[i].clientHeight;

        }

      }

      for (var i = 0; i < mainDivs.length; ++i) {

        mainDivs[i].style.height = maxHeight + "px";

      }

    }, 1000);

}

рони 15.01.2017 02:12

garfild304,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .blok1 {
    width: 100px;
    background-color: #00C700;
    float: left;
    transition: height 1.2s ease-in-out;
  }

  </style>

  <script>
document.addEventListener("DOMContentLoaded", function() {
    setTimeout(resizeElement, 1000)
}, false);

function resizeElement() {
    var maxHeight = 0;
    [].filter.call(document.querySelectorAll(".blok1"), function(el) {
        var elHeight = el.clientHeight;
        elHeight > maxHeight && (maxHeight = elHeight);
        return elHeight > 100
    }).forEach(function(el) {
        el.style.height = maxHeight + "px"
    })
};
  </script>
</head>

<body>
<div class="blok1" style="height: 300px">1</div>
<div class="blok1" style="height: 80px">2</div>
<div class="blok1" style="height: 150px">3</div>
<div class="blok1" style="height: 50px">4</div>
<div class="blok1" style="height: 200px">5</div>
</body>
</html>


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