パララックススライダーrendered.jsのページネーションタイミング修正

Filed under: JavaScript — kdcs @ 25年8月22日 金曜日

時間のある時に学習するための備忘録

パララックススライダーrendered.js修正前はスライド完了後にページネーションが更新されるようになっていたが、これをスライドと同じタイミングで動かしたい。

以下が修正のポイント

現在のコードでは、.pagination の check イベントがスライド完了後に trigger(‘check’) されて、そこで .item に is-active クラスが付与されます。つまり、アニメーションが終わった後にページネーションが更新される仕組みです。

スライドの動きと同時に is-active を付与するには? slideshowSwitch 関数内で、アニメーションの開始直後に .pagination .item の is-active を更新するようにすれば、スライドと同時にページネーションも切り替わります。

以下のように、アニメーション開始前にページネーションの更新処理を追加します。

// スライド切り替えの直前にページネーションを更新
var index = newSlide.index();
pages.removeClass('is-active');
pages.eq(index).addClass('is-active');

このコードを slideshowSwitch 関数内の、アニメーション開始前(例えば TweenMax.to(…) の前)に追加してください。たとえば fade トランジションの場合はこのあたり。

if (transition == 'fade') {
  // ページネーションを即時更新
  var index = newSlide.index();
  pages.removeClass('is-active');
  pages.eq(index).addClass('is-active');

  newSlide.css({
    display: 'block',
    zIndex: 2
  });
  ...

同様に、fade 以外のスライドアニメーションでも、TweenMax.to(…) の前に同じ処理を入れればOKです。

サイト内検索

カテゴリー

最近の投稿

« |パララックススライダーrendered.jsのページネーションタイミング修正| »
↑上に戻る