Magnific popup动态内容

时间:2015-07-20 22:43:29

标签: javascript jquery magnific-popup

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

我在这里创建了一个codepen - 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似乎将提供的数组/对象转换为具有更多属性的项目对象,并在数据对象下提供。

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

[编辑]

这似乎与这样一个事实有关:因为在打开模态时数据的变化是多么大,所以需要以不同的方式访问它,我尝试改变一些条件,但仍然没有快乐= /

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

通过朋友的帮助解决了我的问题!

初始化模态时,对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
    }
}