Javascript 幻想箱故障

Javascript 幻想箱故障,javascript,jquery,fancybox,Javascript,Jquery,Fancybox,我正在尝试实现一个fancybox 我想在一个元素上调用这个函数。完整的JS文件 我已经这样做了: $(document).ready(function() { $("a#inline").fn.fancybox(); }); 但是,我一直收到这个错误(通过firebug): 这是什么意思?我基本上有实例化的问题 请帮忙 编辑 HTML文件: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht

我正在尝试实现一个fancybox

我想在一个元素上调用这个函数。完整的JS文件

我已经这样做了:

$(document).ready(function() { 
    $("a#inline").fn.fancybox();  
});
但是,我一直收到这个错误(通过firebug):

这是什么意思?我基本上有实例化的问题

请帮忙

编辑 HTML文件:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Technologies</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="fancy/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="fancy/jquery.fancybox-1.2.1.js"></script> 
<link rel="stylesheet" href="fancy/fancybox.css" type="text/css" media="screen" />
<script type="text/javascript">
$(document).ready(function() { 
    $("a#inline").fancybox();  
}); 
</script>
</head>
<body>
<?php
include_once ("header.php");
?>
<div id="channel_calc">
How many Channels do I need?
<span id="yellow"><a id="inline" href="#ddm">Channel Calculator</a></span>
</div>

技术
$(文档).ready(函数(){
$(“a#inline”).fancybox();
}); 
我需要多少频道?

我想您忘了还包括jquery本身。Fancybox依赖于jquery

<script type="text/javascript" src="path-to-file/jquery.js"></script>

我想您忘了还包括jquery本身。Fancybox依赖于jquery

<script type="text/javascript" src="path-to-file/jquery.js"></script>

$(“内联”).fn.fancybox();应为$(“a#inline”).fancybox()

$(“a#inline”).fn.fancybox();应为$(“a#inline”).fancybox()

.fn指原型


.fn指的是原型。

您找到错误了吗?我也有同样的问题。解决方案是我两次包含一个javascript文件,而不是两次包含jquery.js文件。

找到错误了吗?我也有同样的问题。解决方案是,我包含了两次javascript文件,而不是两次包含jquery.js文件。

我也遇到了这个问题,发现我包含了两次jquery.js。删除第二个引用修复了我从fancybox调用中得到的错误,我也遇到了这个问题,发现我已经包含了两次jquery.js。删除第二个引用修复了我从fancybox调用中得到的错误,正如Ben所说,确保jQuery没有被意外地包含两次

正如Ben所说,确保jQuery没有两次被意外包含

$("a#inline").fn.fancybox();  
  • 使用最新的jquery和fancybox
  • $(“a#inline”).fancybox();->这是正确的

  • 以下是一些例子:
  • 使用最新的jquery和fancybox
  • $(“a#inline”).fancybox();->这是正确的

  • 以下是一些例子:

  • 您必须确保在jquery之后加载fancybox,否则将出现“fancybox不是函数”错误,并且您的其他javascript也将中断:

    破碎的:

    <script type="text/javascript" src="/js/fancybox/jquery.fancybox-1.3.4.js"></script>
    <script type="text/javascript" src="/js/jquery-1.6.1.js"></script>
    
    
    
    好:


    您必须确保在jquery之后加载fancybox,否则会出现“fancybox不是函数”错误,您的其他javascript也会崩溃:

    破碎的:

    <script type="text/javascript" src="/js/fancybox/jquery.fancybox-1.3.4.js"></script>
    <script type="text/javascript" src="/js/jquery-1.6.1.js"></script>
    
    
    
    好:


    我在JSFIDLE中复制了一段HTML和JS

    • 当我降级到jquery1.3.2时,[参见jsidle示例中框架下的左侧边栏]您的代码将无法工作
    • 当我升级到1.4.4或更高版本时,它起了作用
    解决方案

    • 尝试将jquery升级到1.4.4或更高版本,然后再次测试
    • 我还注意到您包含了一个外部header.php,因此请确保此文件中没有其他jquery脚本,否则您的js代码将被破坏

    请参阅此链接,了解使用jquery 1.4.4版的代码的工作示例:

    我已在JSFIDLE中复制了HTML和JS的一个片段

    • 当我降级到jquery1.3.2时,[参见jsidle示例中框架下的左侧边栏]您的代码将无法工作
    • 当我升级到1.4.4或更高版本时,它起了作用
    解决方案

    • 尝试将jquery升级到1.4.4或更高版本,然后再次测试
    • 我还注意到您包含了一个外部header.php,因此请确保此文件中没有其他jquery脚本,否则您的js代码将被破坏


    查看此链接,了解您自己使用jquery 1.4.4版的代码的工作示例:

    我已经包含了它,并且可以通过我的浏览器访问它。我已经包含了它,并且可以通过我的浏览器访问它。我也尝试了此操作,但我得到一个错误,说fancybox不是一个函数?!我以前使用过很多JQuery插件,它们都很简单。我不知道这里发生了什么。可能是一些简单而愚蠢的事情。在调用fancybox函数之前,请检查fancybox脚本的路径,并确保它已包含在内。是的,我也检查了这个。我不知道我还能做些什么来调试或解决这个问题。我很确定你的路径是错误的。执行查看源并将路径复制/粘贴到浏览器中。还要确保在fancybox脚本之前包含jQuery。我也这样做了,脚本看起来很好。我还通过firebug查看脚本。这太奇怪了!我也试过了,我得到一个错误,说fancybox不是一个函数?!我以前使用过很多JQuery插件,它们都很简单。我不知道这里发生了什么。可能是一些简单而愚蠢的事情。在调用fancybox函数之前,请检查fancybox脚本的路径,并确保它已包含在内。是的,我也检查了这个。我不知道我还能做些什么来调试或解决这个问题。我很确定你的路径是错误的。执行查看源并将路径复制/粘贴到浏览器中。还要确保在fancybox脚本之前包含jQuery。我也这样做了,脚本看起来很好。我还通过firebug查看脚本。这太奇怪了!我得到:$(“#内联”).fancybox不是函数[在此错误上中断]$(“#内联”).fancybox();检查firebug网络选项卡,看看缺少什么。我已经打开了控制台和脚本选项卡。如果这就是你的意思?让你的网页尽可能的简约,试着模仿我所拥有的。如果可以的话,发布一个公共url。我正在本地主机上开发,我有一个非常简约的页面。我已经粘贴了相关的HTML。我得到:$(“#内联”).fancybox不是函数[在此错误上中断]$(“#内联”).fancybox();检查firebug网络选项卡,看看缺少什么。我已经打开了控制台和脚本选项卡。如果这是你的意思?制作你的网页
    <script type="text/javascript" src="/js/fancybox/jquery.fancybox-1.3.4.js"></script>
    <script type="text/javascript" src="/js/jquery-1.6.1.js"></script>
    
    <script type="text/javascript" src="/js/jquery-1.6.1.js"></script>
    <script type="text/javascript" src="/js/fancybox/jquery.fancybox-1.3.4.js"></script>