9

次のように、いくつかの div でサイクル プラグインを使用しています。

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

すべての .section div の高さは、その内容に基づいて可変です。コンテナ div (セクション) のサイズを最大の子の高さに変更しないようにするにはどうすればよいですか? 代わりに、すべてのアニメーションでコンテナーのサイズを現在の子の高さに変更したいと考えています。

4

3 に答える 3

21

わかりました、「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

于 2010-07-08T12:54:09.393 に答える
12

containerResizeオプションを に設定し0て試してください。オプションの詳細はこちら.

于 2010-07-08T12:40:51.650 に答える
1

私は少し違うことをしました:

  $('.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用です

于 2014-04-23T19:15:46.450 に答える