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. 传递switchSlideEvent给 Lazy Load XTupdateEvent选项(见上图)
  2. 像这样手动重新初始化 Lazy Load XT .on('switchSlideEvent')

我收到了 console.log 事件,但在滚动页面之前,“滑入”视图的轮播图像不会加载。

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

问题

如何在switchSlideEvent触发时强制 Lazy Load XT 加载新图像?

任何帮助是极大的赞赏。

谢谢!

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 回答