Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.05.2017, 13:13
Аспирант
Отправить личное сообщение для dima-kruglyak Посмотреть профиль Найти все сообщения от dima-kruglyak
 
Регистрация: 20.01.2016
Сообщений: 39

Определение высоты блока
Подскажите плиз. как узнать высоту каждого блока

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
        var h = $('.post').css('height');
        $('.post').css('height', h);
    });
</script>
</head>

<body>
  <div>
    <div class="post">1</div>
    <div class="post">2<br/></div>
    <div class="post">3<br/>3</div>
  </div>
</body>
</html>


сейчас высота определяется только первого и подставляется во все остальные.
Ответить с цитированием
  #2 (permalink)  
Старый 22.05.2017, 13:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

блоки одинаковой высоты на jquery
dima-kruglyak,
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <style type="text/css">
  .post{
    border: solid hsla(240, 100%, 50%, 1) 2px;
  }

  </style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
        var p = $('.post'), max = 0, h;
        p.each(function(indx, el){
             (h = $(el).height()) >  max &&  (max = h);
              });
        p.css({'height': max});
    });
</script>
</head>

<body>
  <div>
    <div class="post">1</div>
    <div class="post">2<br/></div>
    <div class="post">3<br/>3</div>
  </div>
</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 22.05.2017, 13:48
Аспирант
Отправить личное сообщение для dima-kruglyak Посмотреть профиль Найти все сообщения от dima-kruglyak
 
Регистрация: 20.01.2016
Сообщений: 39

Спасибо. Но здесь высота берется максимальная и подставляется во все блоки, а можно чтобы высота каждого блока была своя? (Первый блок высота 18px ... третий 36px)
Ответить с цитированием
  #4 (permalink)  
Старый 22.05.2017, 13:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

dima-kruglyak,
зачем??? если вам требуется сделать масло масляным, вы что-то не договариваите.
Ответить с цитированием
  #5 (permalink)  
Старый 22.05.2017, 14:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

высота блока по содержимому
dima-kruglyak,
возможно вы хотели так ...
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <style type="text/css">
  .post{
    border: solid hsla(240, 100%, 50%, 1) 2px;
    height: 3px;
  }

  </style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
        var p = $('.post');
        p.each(function(indx, el){
            el.style.height = el.scrollHeight + 'px';
              });

    });
</script>
</head>

<body>
  <div>
    <div class="post">1</div>
    <div class="post">2<br/></div>
    <div class="post">3<br/>3</div>
  </div>
</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 22.05.2017, 16:02
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

<div class="post">Height is 100px</div>
<div class="post">Height is 200px</div>
<div class="post">Height is 50%</div>
<div class="post">Height is 2em</div>
<div class="post">Height is auto</div>


var heights = [100, '200px', '50%', '2em', 'auto'];

$('.post').each(function(index) {
    var value = heights[index];
    this.style.height = +value ? value + 'px' : value;
});

Последний раз редактировалось ruslan_mart, 22.05.2017 в 16:06.
Ответить с цитированием
  #7 (permalink)  
Старый 22.05.2017, 23:38
Аспирант
Отправить личное сообщение для dima-kruglyak Посмотреть профиль Найти все сообщения от dima-kruglyak
 
Регистрация: 20.01.2016
Сообщений: 39

Да. Вы правы. Игрался с masonry.js и блоки друг на друга налезали, думал есть прописать высоту блока, все заработает. Оказалось не, проблема была в изображениях, не успевали грузиться.
Ответить с цитированием
  #8 (permalink)  
Старый 23.05.2017, 00:37
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Попробуй так.
$(window).on("load", function() {
 $('selector').masonry();
});

Должно успеть

Последний раз редактировалось j0hnik, 23.05.2017 в 00:55.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определение видимости блока Gomonov Общие вопросы Javascript 0 13.04.2015 18:59
Изменить высоту фрейма в зависимости от высоты блока в загружаемом документе Sigizmund2012 Элементы интерфейса 18 09.12.2014 18:07
Реакция на изменения высоты блока hopest Angular.js 4 28.05.2014 17:46
Измерить высоту блока исходя из высоты браузера skillful Элементы интерфейса 1 19.01.2014 21:20
Определение высоты блока с overflow: scroll Ilyan Events/DOM/Window 2 23.11.2012 19:04