问题描述
我想用一个jQuery插件时,得到以下错误。
奇怪的是,这是正常使用(现在仍然如此)时,它的一个基本的HTML文件中,但是当我开始填充物的用PHP我得到这个错误。
`未捕获的类型错误:对象[对象的对象]有没有办法fancybox'`
该错误是发生在包括行...
$('#显示滑块)。的fancybox(函数(){
下面是我的HTML。
< PHP
require_once('包括/的functions.php');
的$ id = $ _GET ['身份证'];
连接();
$ Q =SELECT * FROM网址其中id = $编号;
$ R =请求mysql_query($ Q);
如果($ R === FALSE){
死亡(mysql_error());
} 其他 {
$ ARR = mysql_fetch_array($ R);
}
则mysql_close();
?>
< HTML>
< HEAD>
<冠军>< = $ ARR [2]>< /标题>
<链接相对=样式类型=文/ CSS的href =/包括/的fancybox / jquery.fancybox-1.3.4.css媒体=屏幕/>
<链接相对=样式类型=文/ CSS的href =/包括/ CSS / style.css的媒体=屏幕/>
<脚本类型=文/ JavaScript的SRC =https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js>< / SCRIPT>
<脚本类型=文/ JavaScript的SRC =/包括/的fancybox / jquery.fancybox-1.3.4.pack.js>< / SCRIPT>
<脚本类型=文/ JavaScript的>
功能Go(){
$('#显示滑块)。的fancybox(函数(){
$('#滑盖)的css(显示,内联)。
});
$('#显示滑块)点击();
}
< / SCRIPT>
< /头>
<身体GT;
&所述; IFRAME SRC =&其中; = $改编[1]≥? WIDTH =100%高度=100%的onload =去();>
< P>您的浏览器并不支援iframe< / P>
< / IFRAME>
<一个ID =显示滑块的href =#滑的风格=显示:无;>内联< / A>
< DIV的风格=显示:无;>
< DIV ID =滑块>
&所述;?= $改编[3]≥
< / DIV>
< / DIV>
< /身体GT;
< / HTML>
编辑:它看起来像我的.htaccess被搞乱事情有点
。 RewriteEngine叙述上
重写规则([0-9] +)show.php?ID = $ 1
什么是应该做的只是采取有号码的URL,并派他们到show.php,这就是我上面张贴的文件。
当我访问我的CSS或在浏览器中的JavaScript文件,我会发送到show.php页面代替。
编辑2:是的,这是htaccess的
下面是新版本,一切是伟大的工作了。
RewriteEngine叙述上
重写规则^([0-9] +)$ show.php?ID = $ 1
尝试改变的js文件的顺序。地方块的javascript code在体内和的fancybox-1.3.4.pack.js之前。对于我的作品,祝你好运!
I'm getting the following error when trying to use a plugin for JQuery.
Strangely, this was working perfectly (and still does) when it's inside a basic HTML file, but when I start filling things in with PHP I get this error.
`Uncaught TypeError: Object [object Object] has no method 'fancybox'`
The error is occurring on the line that includes...
$('#show-slider').fancybox(function() {
Here's my html.
<?php
require_once('includes/functions.php');
$id = $_GET['id'];
connect();
$q = "select * from urls where id = $id";
$r = mysql_query($q);
if($r === FALSE) {
die(mysql_error());
} else {
$arr = mysql_fetch_array($r);
}
mysql_close();
?>
<html>
<head>
<title><?=$arr[2]?></title>
<link rel="stylesheet" type="text/css" href="/includes/fancybox/jquery.fancybox-1.3.4.css" media="screen" />
<link rel="stylesheet" type="text/css" href="/includes/css/style.css" media="screen" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script type="text/javascript" src="/includes/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
<script type="text/javascript">
function go() {
$('#show-slider').fancybox(function() {
$('#slider').css('display', 'inline');
});
$('#show-slider').click();
}
</script>
</head>
<body>
<iframe src="<?=$arr[1]?>" width="100%" height="100%" onload="go();">
<p>Your browser does not support iframes.</p>
</iframe>
<a id="show-slider" href="#slider" style="display: none;">Inline</a>
<div style="display: none;">
<div id="slider">
<?=$arr[3]?>
</div>
</div>
</body>
</html>
EDIT: It looks like my .htaccess is messing with things a bit.
RewriteEngine On
RewriteRule ([0-9]+) show.php?id=$1
What it should be doing is only taking URLs that are numbers and sending them to show.php, which is the file I posted above.
When I visit my css or javascript files in my browser, I get sent to the show.php page instead.
EDIT 2: Yep, it was the htaccess.
Here's the new version and everything is working great now.
RewriteEngine On
RewriteRule ^([0-9]+)$ show.php?id=$1
Try to change the order of js files.place block of javascript code in body and the "fancybox-1.3.4.pack.js" before .for me works,good luck!
这篇关于未捕获的类型错误:对象[对象的对象]有没有办法“的fancybox”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!