迭代If语句

时间:2016-02-02 13:16:54

标签: javascript jquery

我有12个模态。我想将每个模态的.modal__content高度与viewport height进行比较,如果特定的模态.modal__content高度是<比vh addClass("center")else addClass("margin"),然后转到下一个模式 - 比较它,执行if语句,直到最后一个模态。

每个模态都有相同的类.modal__content

这是我的if

  if ($(window).height() > $('.modal__content').actual('height')) {
    $('.modal__content').addClass("center");
  } else {
    $('.modal__content').addClass("margin");
  }

模态的例子:

  <div class="modal" id="modal-3"> // each modal has it's own id
    <div class="modal__content">
      <h3>Heading</h3>
      <div>
        <p>Paragraph</p>
        <button class="md-close">close</button>
      </div>
    </div>
  </div>

问题:

1)我应该在哪种循环中放置if? Mb我根本不需要循环?

2)$('.modal__content').addClass("center"); - 隐式迭代 如何才能将其仅限于特定模式?

1 个答案:

答案 0 :(得分:1)

您可以尝试

$('.modal__content').each(function(){
 if ($(window).height() > $(this).actual('height')) {
    $(this).addClass("center");
  } else {
    $(this).addClass("margin");
  }
})