【问题标题】:Fancybox gallery repeating imagesFancybox 画廊重复图像
【发布时间】:2012-08-24 00:34:39
【问题描述】:

我做了一个fancybox画廊,它可以很好地处理图像编号,但它显示的是相同的图像

例如如果我有 5 张图片,我可以点击下 4 次,但会显示相同的图片,除非我打开另一张图片,否则它将适用于两张图片,依此类推

我使用了一些随机数来避免缓存,但是看萤火虫没有错误,也没有发送请求来获取新图像

这是我的代码

<a href="path/to/image/1/?cashe='+Math.random()+'" class="aGalleryHolder" rel="galleryGroup" ><img src="path/to/image/1/" class="galleryItems2" /></a>

JS 尝试了两个不同的选择器,结果相同

jQuery("a.aGalleryHolder").fancybox();
jQuery("a[rel=galleryGroup]").fancybox();

有什么想法吗?

http://jsfiddle.net/5VZ6h/1/

这是让我发疯的 src

【问题讨论】:

  • 我认为给定的 url 不正确试试这样:
  • @Sora 抱歉,我删除了原来的路径,我忘记了这个链接是对的,你还有其他想法吗
  • 你能给我一些你的代码吗?
  • 也许 Math.random 值在fancybox中保存的相同,因此它会一次又一次地为您提供相同的图像
  • @Sora 忘记了 Math.random 它一遍又一遍地返回相同的图像,除非我打开它它没有发送新请求

标签: javascript jquery fancybox image-gallery


【解决方案1】:

我认为弄乱原来的 fancybox js 文件是个坏主意,除非你知道自己在做什么。您的小提琴显示了原始文件的更改,特别是从第 792 行开始。

来自原fancybox js file at fancybox.net 第 792 行说:

$(this)
 .data('fancybox', $.extend({}, options, ($.metadata ? $(this).metadata() : {})))
 .unbind('click.fb')
 .bind('click.fb', function(e) {
   e.preventDefault();
   ...etc

您的编辑http://jsfiddle.net/5VZ6h/1/

$(this)
 .die('click.fb')
 .live('click.fb', function(e) {       
  $(this).data('fancybox', $.extend({}, options, ($.metadata ? $(this).metadata() : {})))
  e.preventDefault();
  ... etc

只要我用原始的 fancybox js 代码分叉你的小提琴,它就可以正常工作。自己看:http://jsfiddle.net/jMWFp/3/

【讨论】:

  • 非常感谢我在这里发布我想出的答案,但我会接受你的答案,因为它是正确的,你在这里帮助我
猜你喜欢
  • 1970-01-01
  • 2014-03-19
  • 2015-09-09
  • 2020-03-09
  • 2012-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多