1

我在实现 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=Document testfancybox.php, f=[function( )]) f(a=undefined) 在第 2 行文件http://...js/jquery-1.7.1.min.js 如果我排除主页中包含的文件之一,错误就会消失。在那个文件中,我有 jquery 选项卡,正如我所说,添加 noconflict 函数没有帮助。
如何调试此错误?

4

1 回答 1

2

答案:只需重命名

$(document).ready(function() {    
$("#various1").fancybox({    

jquery(document).ready(function() {    
jquery("#various1").fancybox({    

而不是添加无冲突函数 jQuery.noConflict(); 到它使用 $ 函数的所有地方,问题将得到解决..

于 2013-01-27T11:27:31.387 回答