Uncaught ReferenceError: maxHeight не определен - PullRequest
0 голосов
/ 16 апреля 2019

jQuery

$(function maxHeight() {
  var maxH = 0;
  var contentH = 'calc(100vh - 79px)';
  $(".left, .middle, .right").each(function() {
    if ($(this).height() <= contentH) {
      $(".left, .right").css('justify-content', 'space-between');
      $(".middle").css('height', '100%');
    } else {
      if ($(".middle").height() > $(".left, .right").height()) {
        $(".left, .right").css({
          'height':'calc(' + contentH + ' - 100px)',
          'justify-content':'space-between'
      });
        $(".middle").css('height',contentH);
      } else {
        maxH = $(".left, .right").height();
        $(".left, .middle, .right").height(maxH);
      }
    }
  });
});
mySwiper.height = maxHeight();

Ошибка говорит: Uncaught ReferenceError: maxHeight не определено
Что не так с моим кодом?

edit : Я разделил вопросы, которые я первоначально написал здесь.-> Код, соответствующий высоте 3 элементов в JS, это правильно?- StackOverflow

Ответы [ 3 ]

3 голосов
/ 16 апреля 2019

Удалите $ () вокруг вашей функции.

2 голосов
/ 16 апреля 2019

Ваша функция в настоящее время является локальной функцией внутри сокращения jQuery $(document).ready(), равного $(/*function*/), поэтому она недоступна извне этой функции.Сделайте это нормальной функцией:

function maxHeight() {
  var maxH = 0;
  var contentH = 'calc(100vh - 79px)';
  $(".left, .middle, .right").each(function() {
    if ($(this).height() <= contentH) {
      $(".left, .right").css('justify-content', 'space-between');
      $(".middle").css('height', '100%');
    } else {
      if ($(".middle").height() > $(".left, .right").height()) {
        $(".left, .right").css({
          'height':'calc(' + contentH + ' - 100px)',
          'justify-content':'space-between'
      });
        $(".middle").css('height',contentH);
      } else {
        maxH = $(".left, .right").height();
        $(".left, .middle, .right").height(maxH);
      }
    }
  });
}
mySwiper.height = maxHeight();
1 голос
/ 16 апреля 2019

Вот скрипка с базовой реализацией - https://jsfiddle.net/3tuvzxwd/1/

Добавьте display: flex; flex-direction: row в родительский контейнер, и он будет работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...