Плагин jQuery Cycle - Автоматическая высота для контейнеров - PullRequest
9 голосов
/ 08 июля 2010

Я использую плагин цикла в некоторых div, например:

<div class="sections">
  <div class="Section"> <img /> text </div>
  <div class="Section"> <img /> text </div>
  <div class="Section"> <img /> text </div>
</div>

все div .section имеют переменную высоту, в зависимости от их содержимого.Как сделать цикл, чтобы не изменять размер контейнера (разделов) до максимальной дочерней высоты?Вместо этого я хочу, чтобы контейнер изменял размер каждой анимации до текущей дочерней высоты.

Ответы [ 3 ]

21 голосов
/ 08 июля 2010

хорошо, мне удалось это сделать, подключив функцию к событию 'after':

function onAfter(curr, next, opts, fwd) {
  var $ht = $(this).height();

  //set the container's height to that of the current slide
  $(this).parent().animate({height: $ht});
}

нашел информацию здесь: http://forum.jquery.com/topic/jquery-cycle-auto-height

12 голосов
/ 08 июля 2010

установите containerResize вариант на 0 и попробуйте.Дополнительные параметры здесь .

1 голос
/ 23 апреля 2014

Я сделал это немного по-другому:

  $('.cycle-list').cycle({
    containerResize: 0,
    before: function(currSlideElement, nextSlideElement, options, forwardFlag) {
      var container = $(this).parent();
      container.css('height', Math.max(container.height(), $(nextSlideElement).height()));
    },
    after: function(currSlideElement, nextSlideElement, options, forwardFlag) {
      $(this).parent().css('height', $(this).height());
    }
  });

Мои вещи тоже были разной высоты. В предыдущем случае он гарантирует, что контейнер достаточно большой для большего из 2 слайдов. В последующем он просто изменяет размер до следующего слайда. Таким образом, он никогда не переполняется, потому что ваш контейнер слишком мал.

Примечание: это для цикла 1

...