0

我从堆栈溢出中得到了很多帮助,让这个页面到达了它的功能所在的位置,它几乎就在那里,我只是不是 jQuery 专家。工作示例:

http://www.metropoliscreative.com/jake_test/test1.html

我正在使用 Galleriffic(一个动态图库 jQuery 插件)和 Quicksand(一个 jQuery 过滤插件)。

如果单击缩略图,它们将在大窗格中正确加载。如果您选择项目类型或行业,它将根据某些数据类型对这些缩略图进行排序。

但是,问题是一旦您对它们进行排序,Galleriffic 功能就会停止工作。所以为了纠正这个问题,我在流沙初始化中包裹了另一个画廊调用。所以一旦流沙完成,它会重置galleriffic。

但是,此时我从 Galleriffic 收到错误消息,我不知道为什么。我调用的方式与页面加载时调用的方式完全相同,然后它就可以工作了。

4

2 回答 2

2

当我查看您页面的来源时,我在第 295 行(就在问题区域之前)看到了一个不应该存在的“d”。也许这就是原因,您的代码没有被执行。

于 2011-01-25T18:41:26.820 回答
0

.galleriffic()由于您的第二次调用,它似乎引发了错误。我得到的错误是Cannot convert 'imageData' to object. 这似乎是因为当您切换到(例如)Project Type -> Brochure Packages 时,gallerific会尝试根据数据属性将当前图像 id 设置为 0。但是,似乎quicksand搞砸了数据数组,导致gallerific在第二次调用时看不到任何元素(也就是图像)。我认为这quicksand是导致问题的原因,可能是因为它没有正确删除/添加图像。如果你看这个例子,删除图像的代码是这样的:

$('#removeImageByIndexLink').click(function(e) {
    if (!gallery.removeImageByIndex(5))
        alert('There is no longer an image at position 5 to remove!');

    e.preventDefault();
});

然而,它似乎quicksand只是用来.remove()摆脱图像。现在,我查看了代码removeImageByIndex(),它似乎gallerific保留了有关它使用的图像的信息缓存,当.remove()quicksand.

tldr; 流沙错误地删除了图像,并且gallerific没有更新到更改。

如何解决?好吧,一种选择是尝试重写流沙脚本的删除和添加部分,以了解 Gallerific。另一种方法是将流沙的删除部分重写为仅隐藏元素而不是删除它们(即 setdisplay:none;而不是.remove())。

我希望这会有所帮助,这就是我能想到的。

于 2011-01-25T19:28:14.633 回答