【问题标题】:Pikachoose API hook with Fancybox not working in IE9 or lower带有 Fancybox 的 Pikachoose API 钩子在 IE9 或更低版本中不起作用
【发布时间】:2013-05-10 03:56:59
【问题描述】:

所以我目前一直在测试 Pikachoose 库的 API 挂钩,并且确实有一个包含三个缩略图的库运行良好。然后,我添加了动画完成时的 API 钩子,并运行一个函数来为其中一个缩略图创建一个 Fancy-box。

$(document).ready(function (){
   var a = function(self){
      self.anchor.fancybox({
            'width'             : '60%',
            'height'            : '55%',
            'autoScale'         : true,
            'transitionIn'      : 'elastic',
            'transitionOut'     : 'none',
            'type'              : 'iframe' 
      });
   };
   $("#pikame").PikaChoose({animationFinished:a});
});

这适用于 Firefox、Chrome 和 Opera。它似乎在 IE9 或更低版本中不起作用,并且为了避免可能潜伏在我的测试站点上的任何页面错误,我创建了一个 jsfiddle (** jsfiddle) 并最终得到相同的结果 -在缩略图过渡中动画一次,然后中断

有人知道为什么 IE 9 似乎崩溃了吗?

【问题讨论】:

  • 不知道你做错了什么,但这个 stackoverflow.com/a/16047602/1055987 可以在 IE7+ 上正常工作
  • 嗨,JFK,我已尝试按照您对您提供的链接的建议进行操作,并且它在 IE 中至少可以在 jsfiddle link 中使用,但是当您单击最后一个缩略图时返回第一或第二时打破幻想框。我希望只在第一张图片上启用 fancybox,所以我避免使用第三张左右的任何锚标签来测试它只在 pikachoose 中工作。我是否遗漏了一些东西,以便在查看没有锚标签的图像后仍会调用 fancyGallery 函数?

标签: javascript jquery css cross-browser fancybox


【解决方案1】:

当点击第二张和第三张图片时,PikaChoose 的finishAnimating 会在调用animationFinished 之前从锚点解开图片并清除字段this.anchor,因此您的self.anchor 在所有浏览器中都是null(在Chrome、IE9、 IE10)。 IE 只是让这个 bug 可见。

【讨论】:

  • 我明白了,坚持使用 JFK 的方法,我已经能够修复 Pikachoose 画廊以实际显示第三张图像,与以前一样,它允许更改一张图像然后中断。你所说的没有锚标签的图像不使用这个jsfiddle中的功能?您能否提出一种方法来确保代码能够确定 pikachoose 画廊中带有锚标记的任何图像始终启用初始化fancybox? (即使它只是图库中的第一张图片?)
  • 类似这样的东西:jsfiddle.net/aXCF3/4-fancybox 无论是否被锚点包围,都必须点击大图,而画廊信息是从 href/title 或封闭的a 中提取的(如果存在)或来自img 本身的src/alt
  • 所以基本上一旦您删除了单击大图像的绑定,使用从 Pikachoose 库中选择的静态图像,它就会从fancyboxs 的代码中解开,并且将不再初始化fancybox?如果我在发布给自身的同一页面上提交表单,我会在 pikachoose 画廊中断的情况下看到其他错误。更让我困惑的是,这在所有其他浏览器中都可以正常工作,而且没有太多问题。有没有办法禁止点击 pikachoose 库中指定的元素作为解决方法?
  • 恐怕我没有完全理解您的评论。是否要完全删除 fancybox?如果是这样,那么您应该从脚本中删除fancyGalleryfancy,并从PikaChoose 的选项中删除buildFinished: fancy。或者,如果您想忽略对缩略图的点击,请查看 jsfiddle.net/aXCF3/5
  • 嗨,维克多,对不起,我不清楚(我自己还是很困惑)。我只想让 fancybox 处理一张图片,即 pikachoose 画廊中的第一张图片。我还需要画廊和 fancybox 才能在 IE 中工作。
猜你喜欢
  • 2015-12-18
  • 2014-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多