Colorbox多次触发onComplete

时间:2011-04-09 15:04:13

标签: jquery colorbox

我正在尝试为需要加载外部(相同服务器,不同页面)内容的多个链接创建通用Colorbox启动器。在某些情况下,我需要能够在不离开模态的情况下链接内容,所以看起来像iframe是最好的(仅?)方式,但我发现onComplete回调使用此代码无限激发:

$('a[rel="modal"]').colorbox({
  href: function() {
    return $(this).attr( 'href' );  
  },
  title: function() {
    var title = $(this).attr( 'title' );
    return title != 'undefined' ? title : false;
  },
  rel: 'nofollow',
  iframe: true,
  onComplete:function() {
    alert( 'complete' );
    $.colorbox.resize({
      innerHeight: ( $('iframe').offset().top + $('iframe').height() ),
      innerWidth: ( $('iframe').offset().left + $('iframe').width() )
    })
  }
});

因为它是通用的,我也试图动态地将模态调整为内容本身。如果我没有指定某些内容,我最终会得到一个崩溃的iframe。我知道我在这里遗漏了一些东西,但我不确定它是什么。

我应该补充说,框架内的页面加载还包括Colorbox脚本以及包含上述代码的脚本。我将不得不检查是否会产生某种不可避免的虫洞。

非常感谢任何帮助。

更新

onComplete被触发时,看起来iframe不存在。我没想到,所以我现在肯定可以使用一些建议。 : - )

1 个答案:

答案 0 :(得分:1)

现在不确定这对你是否有任何帮助,但我遇到了与colorbox循环相同的问题。它最终成为'href'属性值的问题。 (我在没有设置'inline' : true的情况下引用了元素ID。)

如果将'href'属性中调用的函数替换为静态位置,它是否有效?如果没有内容,则可能是您的iframe不存在的原因。