0

switchSlideEventドキュメントなしで jQuery Carousel プラグインから switchSlide() メソッドが呼び出されるたびに、カスタム イベントが発生します。

Lazy Load XT ( https://github.com/ressio/lazy-load-xt ) を使用して画像を遅延読み込みしていますが、プラグインは次のイベントでのみ画像を読み込みますload orientationchange resize scroll

Lazy Load XT は次のように初期化されます。

$.extend($.lazyLoadXT, {
   selector: 'img[data-original]',
   srcAttr: 'data-original',
   edgeY: 200,
   updateEvent: 'load orientationchange resize scroll switchSlideEvent'
});

次の解決策を試しましたが、成功しませんでした。

  1. switchSlideEventLazy Load XTupdateEventオプションに渡します (上記参照)
  2. 次のように手動で Lazy Load XT を再初期化します.on('switchSlideEvent')

console.log イベントを取得していますが、ページをスクロールするまでカルーセル画像が「スライド」して表示されません。

$(document).ready(function(){
  $(document).on('switchSlideEvent', function(){
    console.log("custom event fired");
    $(window).lazyLoadXT();
  }); 
});

質問

起動時に Lazy Load XT に新しい画像をロードさせるにはどうすればよいswitchSlideEventですか?

どんな助けでも大歓迎です。

ありがとう!

4

1 に答える 1

1

switchSlide()カルーセルプラグインのメソッド内に、コールバック関数animateを持つメソッドがありました。コールバック関数内にcomplete別のイベントを追加し、初期化コードを次のように調整しました。$.event.trigger("switchSlideAnimateEvent")complete

$.extend($.lazyLoadXT, {
selector: 'img[data-original]',
srcAttr: 'data-original',
edgeY: 200,
updateEvent: 'load orientationchange resize scroll switchSlideEvent switchSlideAnimateEvent'
});

$(document).on(switchSlideEvent)ハンドラーは不要だったので完全に削除し、画像が適切に読み込まれるようになりました。

乾杯。

于 2015-07-21T22:11:34.597 に答える