在我的网站的新版本上工作,但无法正确加载精美的框:
http://www.taintmovie.com/storecartloom2/
我检查了对 jquery 的重复调用,但没有看到任何调用。
深入研究这个问题,并不是像以前建议的那样损坏的 fancybox.js 文件的打包版本(我将该文件与 fancybox 网站进行了比较,它们匹配。)
为了消除错误并使fancybox正常工作,您必须在您的网站中修复三件事:
1)。关闭你的<head>
标签(目前没有</head>
关闭标签)
2)。你说你检查了 jQuery 重复但是你正在加载这个脚本:
<script type="text/javascript" id="cljs" src="https://taintmovie.cartloom.com/cart/cl?dr=1&ol=1"></script>
LINK HERE,其中包括 jQuery v1.4.2,因此它与已加载的 v1.7.2 冲突。
这实际上是这个错误的原因:
Error: TypeError: $(".fancybox").fancybox is not a function
Source File: http://www.taintmovie.com/storecartloom2/
Line: 40
...您可能想要编辑该文件并删除 jQuery 部分。
3)。您正在将 fancybox 绑定到选择器,.fancybox
例如:
$(".fancybox").fancybox();
...但是您的 html 看起来像:
<a class="fancybox.iframe" href="http://www.youtube.com/embed/bHEEdUQCNsM?autoplay=1"><img src="images/pantheonblack300.png"></a>
您实际上需要设置除类fancybox
之外的fancybox.iframe
类,例如:
<a class="fancybox fancybox.iframe" href="http://www.youtube.com/embed/bHEEdUQCNsM?autoplay=1"><img src="images/pantheonblack300.png"></a>
...否则它将无法正常工作。
与 firebug 混在一起,fancybox.js 的打包版本似乎被破坏了。我将开发人员控制台中的源代码更改为解压版本,并且运行正常。