TypeError:'undefined'不是函数(评估'$(“。fancybox”)。fancybox()')

时间:2012-07-19 23:48:44

标签: jquery fancybox fancybox-2

使用我的网站的新版本,但无法正常加载花哨的框:

http://www.taintmovie.com/storecartloom2/

我检查了对jquery的重复调用,但没有看到任何调用。

2 个答案:

答案 0 :(得分:8)

进一步深入研究问题,不是像之前建议的那样打破了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>

...否则它将无效。

答案 1 :(得分:0)

用firebug搞砸看起来像fancybox.js的打包版本坏了。我将开发人员控制台中的源更改为解压缩版本,并且运行正常。