TypeError:'undefined'不是函数(评估'$(".fancybox").fancybox()')

Dan*_*son 2 jquery fancybox fancybox-2

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

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

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

JFK*_*JFK 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>
Run Code Online (Sandbox Code Playgroud)

链接在这里,其中包括jQuery v1.4.2,因此它与已经加载的v1.7.2冲突.

这实际上是这个错误的原因:

Error: TypeError: $(".fancybox").fancybox is not a function
Source File: http://www.taintmovie.com/storecartloom2/
Line: 40
Run Code Online (Sandbox Code Playgroud)

...您可能想要编辑该文件并删除jQuery部分.

3).您将fancybox绑定到选择器,.fancybox如:

$(".fancybox").fancybox(); 
Run Code Online (Sandbox Code Playgroud)

...但是你的html看起来像:

<a class="fancybox.iframe" href="http://www.youtube.com/embed/bHEEdUQCNsM?autoplay=1"><img src="images/pantheonblack300.png"></a>
Run Code Online (Sandbox Code Playgroud)

你实际上需要在类fancybox之外设置fancybox.iframe类,如:

<a class="fancybox fancybox.iframe" href="http://www.youtube.com/embed/bHEEdUQCNsM?autoplay=1"><img src="images/pantheonblack300.png"></a>
Run Code Online (Sandbox Code Playgroud)

...否则它将无法正常工作.