【发布时间】:2019-06-04 15:50:54
【问题描述】:
这是一个 Flickity 轮播,其中包含在 PhotoSwipe 中打开的图像。
Flickity 幻灯片中有 a 标签“有效”,但 PhotoSwipe 模式会在 window.location 更改之前闪烁(默认 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。
我打赌我的方法是错误的。
【问题讨论】:
-
我认为 也许 我需要重新考虑事件侦听器,如此答案:stackoverflow.com/a/32702560/2223106
标签: javascript closures photoswipe flickity