jquery:fancybox缩略图助手,如何指定源?

jquery:fancybox缩略图助手,如何指定源?,jquery,fancybox,thumbnails,helper,Jquery,Fancybox,Thumbnails,Helper,我使用的是fancyBox 2,我使用的是“缩略图助手”。当我的图库中有图像时,fancyBox会自动将目标图像用于缩略图,但当我链接到视频(在我的例子中是Vimeo)时,它不会生成缩略图。我以为只要为fancyBox指定一个用于视频链接的图像就可以很容易地解决这个问题,但我不知道如何做到这一点 在网站上,它说缩略图助手有一个“源”选项,应该像这样使用它来启用缩略图,并设置源: $(".fancybox").fancybox({ helpers: { thumbs :

我使用的是fancyBox 2,我使用的是“缩略图助手”。当我的图库中有图像时,fancyBox会自动将目标图像用于缩略图,但当我链接到视频(在我的例子中是Vimeo)时,它不会生成缩略图。我以为只要为fancyBox指定一个用于视频链接的图像就可以很容易地解决这个问题,但我不知道如何做到这一点

在网站上,它说缩略图助手有一个“源”选项,应该像这样使用它来启用缩略图,并设置源:

$(".fancybox").fancybox({
    helpers:  {
        thumbs : {
            source : 'img/~~~.jpg'
        }
    }
});
但当然,这是行不通的,因为我怎样才能指定哪个缩略图用于哪个目标图像或视频?我找不到任何缩略图助手用于视频或自定义缩略图的工作示例。提前感谢您的帮助

编辑:

“源”选项被描述为“获取缩略图的URL的函数”。我正在想办法如何使用它。我在想类似的事情

source: item.thum
$(".fancybox").fancybox({
    helpers:  {
        thumbs : {
          source : function ( item ) {
            return "/url/to/img.ext"; //get the image url for thumbnail
          }
        }
    }
});
其中,我在引用的每个项目中都有一个缩略图源的“thum”属性,例如

$.fancybox.open([
    {href : 'image1.jpg', thum : 'thumb1.jpg'},
    {href : 'image2.jpg', thum : 'thumb2.jpg'},
    {href : 'image3.jpg', thum : 'thumb3.jpg'}],
    {helpers : {
        thumbs:{source:this.thum}
    }   }
)

是这样的吗?你明白我的意思吗?我如何才能真正做到这一点?正如你所看到的,我不会说JavaScript。

应该是这样的

source: item.thum
$(".fancybox").fancybox({
    helpers:  {
        thumbs : {
          source : function ( item ) {
            return "/url/to/img.ext"; //get the image url for thumbnail
          }
        }
    }
});

我这样做的:我的函数找到了
href
元素包含字符串
http://vimeo
,并将整个
href
替换为我用于视频的缩略图的url

我也必须学习正则表达式,才能使它工作

$(".fancybox").fancybox({
    helpers : {
        thumbs : {
            source: function( item ) {
                return item.href.replace(/http:\/\/vimeo.*/gi, 'img/vimeo.jpg');
    },
});
事实上,我的图库中的iFrame中也有一个HTML文件,我也想给出它自己的缩略图,所以我的最终产品是:

$(".fancybox").fancybox({
    helpers : {
        thumbs : {
            source: function( item ) {
                return item.href.replace(/http:\/\/vimeo.*/gi, 'img/vimeo.jpg')
                .replace(/.*html/gi, 'img/html.jpg');
    },
});

对于任何发现此线程并希望在实践中看到此示例的人,请访问我使用此线程的站点。

对于不同iFrame(vimeo、youtube等)的不同拇指,我最终完成了此操作。或多或少是您的原始计划:

$.fancybox.open([
  { 
    href : 'photo.jpg',
    thumb : 'photo-thumb.jpg'
  }
], {
    helpers : {
      thumbs : {
        source : function( item ) {
          if (item.thumb) {
            return item.thumb;
          } else {
            return item.href;
          }
        }
      }
    }
});

非常感谢。这几乎是我所需要的。