【问题标题】:Magnific popup Dynamic content华丽的弹出动态内容
【发布时间】:2015-07-20 22:43:28
【问题描述】:

我似乎有一个问题,使用 Magnific 然后告诉它以编程方式转到提供的索引中断,但只有在移动到第零个元素然后返回时。

我在这里创建了一个代码笔 - codepen

这是出现问题的代码,尤其是 goTo() 方法。

if (this.items[i].slug === elSlug)
{
    this.goTo(i);
}
else
{
    // should log every other index other than the one we're looking for
    console.log(i);
}

我还注意到,magnific 似乎将提供的数组/对象转换为具有更多属性的项目对象,并在数据对象下提供。

有没有人遇到过这种问题或知道解决方法?

[编辑]

这似乎与以下事实有关:由于打开模式后(在)打开模式后如何转换数据,需要以不同方式访问它,我尝试更改一些条件但仍然没有乐趣 =/

【问题讨论】:

  • 嗯,奇怪的是,如果您不在这里进行严格比较if (this.items[i].slug === elSlug),它至少会记录您在评论块中提到的所有其他索引。

标签: javascript jquery magnific-popup


【解决方案1】:

您的elSlug 变量和slug 属性不一致。例如,对于 Sea Salt & Vinegar,elSlug 设置为 sea-salt-vinegar,但将其与 sea-salt-&-vinegar 进行比较,因此匹配不正确。

【讨论】:

  • 啊,是的,我的错,我已经更新了这个但忘记粘贴到笔中,更新了,胸围仍然有问题。
【解决方案2】:

在朋友的帮助下解决了我的问题!

当您初始化模式时,items[] 数组会发生巨大的变化。

所以我们不只是有一个纯数据对象数组,而是有一个带有额外数据的对象,以及 Magnfic 将我们提供的数据放在 data 对象下。

这张支票把我带到了我需要去的地方,希望它在未来对其他人有所帮助!

for (i ; i < len ; i++) {
    if (this.items[i].slug === elSlug || (this.items[i].data && this.items[i].data.slug === elSlug))
    {
        this.goTo(i);
        break;
    } else{
        // some kind of problem, do other stuff
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-28
    • 2014-02-02
    相关资源
    最近更新 更多