每次从没有文档的jQuery Carousel插件调用switchSlide()方法时,我都会触发自定义事件switchSlideEvent
。
我正在使用Lazy Load XT(https://github.com/ressio/lazy-load-xt)来延迟加载图片,但是,插件只会加载以下事件的图片load
orientationchange
resize
{{1 }}
Lazy Load XT初始化如下:
scroll
我尝试了以下解决方案,但没有取得任何成功:
$.extend($.lazyLoadXT, {
selector: 'img[data-original]',
srcAttr: 'data-original',
edgeY: 200,
updateEvent: 'load orientationchange resize scroll switchSlideEvent'
});
传递给Lazy Load XT switchSlideEvent
选项(如上所示)updateEvent
,如下所示:我正在获取console.log事件,但轮播图像"滑动"在我滚动页面之前,我没有加载到视图中。
.on('switchSlideEvent')
问题
当$(document).ready(function(){
$(document).on('switchSlideEvent', function(){
console.log("custom event fired");
$(window).lazyLoadXT();
});
});
触发时,如何强制Lazy Load XT加载新图像?
非常感谢任何帮助。
谢谢!
答案 0 :(得分:1)
在carousel插件的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)
处理程序,因为它没有必要,而且图像现在已正确加载。
干杯。