【问题标题】:Fancybox not playing nice with Cycle Plugin - Advice?Fancybox 不能很好地与 Cycle Plugin 配合使用 - 建议?
【发布时间】:2013-02-12 05:56:17
【问题描述】:

在我的几页上,我有一个 Fancybox 灯箱和一个 jQuery Cycle 插件。通常它工作正常。在某些情况下,当我单击创建灯箱的链接时,当我关闭它时,Cycle Plugin 转换并且不会返回。当这种情况发生时,它会产生巨大的空间差距。

我不确定发生了什么,这不会 100% 发生。其零星。我不确定这是一个浏览器问题还是多个浏览器问题,因为我能够在 FF5 中在两个不同的机器上重新创建它,但没有在其他浏览器中复制它。

有什么建议吗?

谢谢 - 这是页面:http://www.ubhape2.com/artists/(注意:任何艺术家页面都有相同的标题并且出现在所有页面上。fancybox 是引用“Choosers”的任何链接)

【问题讨论】:

    标签: jquery-plugins fancybox jquery-cycle


    【解决方案1】:

    找到有类似问题的人的答案(这个答案来自 Fancybox 论坛):

    经过进一步测试,我发现了问题所在,当您快速连续地打开和关闭 Fancybox 时,似乎背后的动画(jQuery 循环)正在创建所谓的“动画队列构建”(http://www.learningjquery.com/2009/01/quick-tip-prevent-animation-queue-buildup) ,在与其他处理动画的 js 脚本交互时会发生这种情况(Fancybox 在叠加层中使用不透明动画)。

    我想说这不是花式问题,您应该将问题带到循环插件论坛,但是(因为您使用的是 lite 版本),您可能需要编辑循环 js 文件并执行以下操作更改以尽量减少问题的影响(至少它不会从您的页面上消失):

    替换第166行:

    var fn = function() {$n.animate(opts.animIn, opts.speedIn,
    opts.easeIn, cb)};
    

    用这个:

    var fn = function() {$n.animate(opts.animIn, 1000, opts.easeIn, cb)};
    

    和第 167 行:

    $l.animate(opts.animOut, opts.speedOut, opts.easeOut, function() {
    

    用这个:

    $l.animate(opts.animOut,{queue:false, duration: opts.speedOut},
    opts.easeOut, function() { 
    

    【讨论】:

      猜你喜欢
      • 2013-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多