Jquery fancybox与jquery选项卡冲突

时间:2013-01-27 09:56:26

标签: fancybox

我在实现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功能没有帮助 如何调试此错误?

1 个答案:

答案 0 :(得分:2)

答案是:只需重命名

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

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

并添加noconflict函数jQuery.noConflict();到它使用$ function的所有地方,问题将得到解决..