这是一个Flickity轮播,其中包含在PhotoSwipe中打开的图像。
在Flickity幻灯片中有a
个标签可以“起作用”,但是在window.location
更改之前,PhotoSwipe模式闪烁(默认HTML单击)。
在运行openPhotoSwipe()
之前,我需要进行某种测试,并尝试了以下方法,但它(当然)仅在第二次单击时有效:
$gallery.dataset = [];
$gallery.dataset.linkClicked = false;
$('.project-archive-link').on('click', function() {
$gallery.dataset.linkClicked = true;
});
$gallery.on('staticClick.flickity', function(event, pointer, cellElement, cellIndex) {
if (!cellElement) {
return;
}
// Photoswipe functions
var openPhotoSwipe = function() {
...
if ($gallery.dataset.linkClicked === false ) {
openPhotoSwipe();
}
这是具有基本框架的CodePen。
我打赌我的方法是错误的。
答案 0 :(得分:0)
由flickity的开发者working solution根据this recommendation开发了David DeSandro(未经广泛测试),并由this Flickity issue提出了进一步的建议,将cellIndex
替换为jQuery
获得的单元格索引。
Flickity事件侦听器绑定到img
中的$gallery
标签。然后,目标index
的{{1}}被用作parent
数组中的Photoswipe图像。
options