我在实现jquery花式框时遇到了很大的问题。在我想要包含它的页面中,我使用jquery选项卡,我认为它与fancybox冲突。
我收到此错误:$(“#various1”)。fancybox不是函数
我检查了几次,它不包括路径问题,只是冲突问题。我在<head>
标记中包含以下脚本:
<script type="text/javascript" src="./js/jquery.min.js"></script>
<script type="text/javascript" src="./js/jquery.tools.min.js"></script>
<script type="text/javascript" src="./js/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="./js/primary.js"></script>
<link href="js/fancybox/jquery.fancybox-1.3.4.css" rel="stylesheet" type="text/css" media="screen" />
<script>!window.jQuery && document.write('<script src="js/jquery-1.4.3.min.js"><\/script>');</script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript" src="js/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#various1").fancybox({
'titlePosition' : 'inside',
'transitionIn' : 'none',
'transitionOut' : 'none'
});
});
</script>
我尝试添加jQuery.noConflict();像这样
<script type="text/javascript">
jQuery.noConflict();
$(document).ready(function() {
$("#various1").fancybox({
'titlePosition' : 'inside',
'transitionIn' : 'none',
'transitionOut' : 'none'
});
});
</script>
但这并没有解决问题。之后我添加了jQuery.noConflict();在主页面中包含的所有文件中仍然存在相同的错误: $(“#various1”)。fancybox不是一个函数,在我展开之后我可以看到: f(b =文件testfancybox.php,f = [function()]) 第2行文件http://...js/jquery-1.7.1.min.js中的f(a =未定义) 如果我排除主页中包含的其中一个文件,则错误消失。在那个文件中我有jquery标签,正如我所说添加noconflict功能没有帮助 如何调试此错误?
答案 0 :(得分:2)
答案是:只需重命名
$(document).ready(function() {
$("#various1").fancybox({
到
jquery(document).ready(function() {
jquery("#various1").fancybox({
并添加noconflict函数jQuery.noConflict();到它使用$ function的所有地方,问题将得到解决..