我正在尝试实现一个fancybox。 http://fancybox.net/howto
我想在一个元素上调用这个函数。完整的JS文件。 http://fancybox.net/js/fancybox/jquery.fancybox-1.2.1.js
$.fn.fancybox = function(settings) {
我做到了:
$(document).ready(function() {
$("a#inline").fn.fancybox();
});
然而,我一直收到这个错误(通过萤火虫):
$("a#inline").fn is undefined
[Break on this error] $("a#inline").fn.fancybox();
这是什么意思?我基本上是在实例化问题。
请帮忙。
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>
答案 0 :(得分:3)
$('#inline').fancybox();
.fn指的是原型。
答案 1 :(得分:2)
答案 2 :(得分:2)
我也遇到了这个问题,发现我已经将jquery.js包括了两次。删除第二个引用修复了我从fancybox调用中得到的错误
答案 3 :(得分:1)
$( “A#内联”)fn.fancybox();应该是$(“一个#inline”)。fancybox();
答案 4 :(得分:1)
你必须确保在jquery之后加载fancybox,否则你会得到一个“fancybox不是函数”错误,你的其他javascript也会破坏:
BROKEN:
<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>
GOOD:
<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>
答案 5 :(得分:1)
我已经在jsfiddle中复制了HTML和JS的片段。
<强>解决方案强>
使用 jquery版本1.4.4 查看此链接以获取您自己代码的工作示例:http://jsfiddle.net/Ca6N5/
答案 6 :(得分:0)
我想你忘了也包括jquery本身。 Fancybox依赖于jquery。
<script type="text/javascript" src="path-to-file/jquery.js"></script>
答案 7 :(得分:0)
正如Ben所说,确保jQuery不会被偶然包含两次。
答案 8 :(得分:0)
$("a#inline").fn.fancybox();
$( “A#内联”)的fancybox(); - &GT;这是正确的