我正在将PhotoSwipe灯箱与Slick轮播一起用于一个项目,并且我希望在photowipe灯箱未打开时自动进行轮播,但是当灯箱打开时,我希望自动播放停止。
在PhotoSwipe API中,它们有一个close
anddestroy
事件要监听,但没有一个forinit
或事件open
。有没有人找到一个很好的方法来做到这一点?
就像是:
$('#gallery').slick({
autoplay: true,
dots: true,
});
// ... Setup photoswipe...
pswp.listen('open', function() {
$('#gallery').slickSetOption('autoplay', false, false);
});
pswp.listen('close', function() {
$('#gallery').slickSetOption('autoplay', true, false);
});
pwsp.init();
因此,我发现您可以在初始化之前做您需要做的事情,然后在上附加一个事件处理程序close
。
另外,Slick还有一个问题,即使用slickSetOption
1.3.15版以上的命令无法关闭自动播放功能。
https://github.com/kenwheeler/slick/issues/731
这是基于有关此问题的评论之一的解决方法:
// ... Setup PhotoSwipe ...
slider.slickPause();
slider.find('.slick-list').off('mouseleave.slick');
gallery.listen('close', function() {
slider.slickPlay();
slider.find('.slick-list').on('mouseleave.slick', function() {
slider.slickPlay();
});
});
gallery.init();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句