加载bxslider时,colorbox在rel属性上中断

时间:2011-11-11 06:49:05

标签: javascript jquery colorbox bxslider

经过大量调试后,我得出结论,这两个库正在发生冲突。我将它们分开测试并且它们可以工作但是当它们一起使用时(并且有一个rel属性会中断)

如何重现

  • 如果链接有rel或$('something')。colorbox({rel:'something'});
  • $( 'somethingelse')bxSlider(...);
单击任何具有colorbox的图像(不仅仅是共享选项)时,

colorbox将失败:

  

未捕获的TypeError:无法读取未定义的属性'rel'

违规代码是:

      if (settings.rel !== 'nofollow') {
          $related = $('.' + boxElement).filter(function () {
              var relRelated = $.data(this, colorbox).rel || this.rel;
              return (relRelated === settings.rel);
          });

我发现了一个类似的问题Do I use jQuery noconflict to avoid plugins conflict?,但效果不同。但原因似乎相似。据回答这个问题的人说,问题是bxSlider消除了colorbox设置的$ .data()。

所以我的问题是:

  • 有办法吗?
  • 这是彩盒中的错误吗?
  • 这是bxSlider中的错误吗?

2 个答案:

答案 0 :(得分:1)

我知道自从这个问题问题已经过了很长时间但是我遇到了类似的问题,经过多次努力之后,我的错误就是我在bxslider之前调用了colorbox,我改变了调用的顺序,它起到了魅力的作用。也许有人会得到这方面的帮助。

答案 1 :(得分:0)

如果没有看到更多的代码,我就无法告诉你想要做什么。你的$('something').colorbox({rel:'something'});看起来有点奇怪,我无法分辨你的插入类,id或实际的rel属性值。您可能想要查看colorbox的rel选项(rel:'something')及其行为方式。见http://www.jacklmoore.com/colorbox

使用这两个插件时,我看到没有任何问题。我尝试了on jsbin,它没有错误,但效果很好。

自行查看: http://jsbin.com/ovucuz/11/edit#javascript,html,live