解决JS jqueryui/fancybox的冲突

解决JS jqueryui/fancybox的冲突,jquery,jquery-ui,Jquery,Jquery Ui,在我的HTML页面中,我包含了一个Jquery的fancybox,它运行得很好。但当我也添加jqueryui脚本时,我会得到: Uncaught TypeError: Object [object Object] has no method 'fancybox' (来自login.js,它使用了一个fancybox调用,在没有令人不快的新行的情况下确实可以工作。)我的脚本包含如下内容: <link rel="stylesheet" type="text/css" href="./fan

在我的HTML页面中,我包含了一个Jquery的fancybox,它运行得很好。但当我也添加jqueryui脚本时,我会得到:

Uncaught TypeError: Object [object Object] has no method 'fancybox' 
(来自login.js,它使用了一个fancybox调用,在没有令人不快的新行的情况下确实可以工作。)我的脚本包含如下内容:

<link rel="stylesheet" type="text/css" href="./fancybox/jquery.fancybox-1.3.4.css" media="screen" />
<link rel="stylesheet" href="style.css" />
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript" src="login.js"> </script>    
<script type="text/javascript" src="./fancybox/jquery.fancybox-1.3.4.pack.js"></script>
<script type="text/javascript" src="./fancybox/jquery.mousewheel-3.0.4.pack.js"></script>                   
<link type="text/css" href="./jqueryui/css/ui-lightness/jquery-ui-1.8.17.custom.css" rel="Stylesheet" />
<!-- <script type="text/javascript" src="./jqueryui/js/jquery-1.7.1.min.js"></script> -->
<!-- the above commented out line is the offending one; once removed, page works well  -->
    <script type="text/javascript" src="./jqueryui/js/jquery-ui-1.8.17.custom.min.js"></script>


有什么想法吗?

您已经包括jQuery两次了,我觉得没有必要,无论如何,试试看

<link rel="stylesheet" type="text/css" href="./fancybox/jquery.fancybox-1.3.4.css" media="screen" />
<link rel="stylesheet" href="style.css" />
<script type="text/javascript" src="./jqueryui/js/jquery-1.7.1.min.js" ></script>
<script type="text/javascript" src="./jqueryui/js/jquery-ui-1.8.17.custom.min.js"></script>
<script type="text/javascript" src="login.js"> </script>    
<script type="text/javascript" src="./fancybox/jquery.fancybox-1.3.4.pack.js"></script>
<script type="text/javascript" src="./fancybox/jquery.mousewheel-3.0.4.pack.js"></script>                   
<link type="text/css" href="./jqueryui/css/ui-lightness/jquery-ui-1.8.17.custom.css" rel="Stylesheet" />


这将使用jQuery 1.7.1,然后加载jQuery UI,然后加载fancybox

您将包含两次jQuery,我认为没有必要,无论如何,请尝试一下

<link rel="stylesheet" type="text/css" href="./fancybox/jquery.fancybox-1.3.4.css" media="screen" />
<link rel="stylesheet" href="style.css" />
<script type="text/javascript" src="./jqueryui/js/jquery-1.7.1.min.js" ></script>
<script type="text/javascript" src="./jqueryui/js/jquery-ui-1.8.17.custom.min.js"></script>
<script type="text/javascript" src="login.js"> </script>    
<script type="text/javascript" src="./fancybox/jquery.fancybox-1.3.4.pack.js"></script>
<script type="text/javascript" src="./fancybox/jquery.mousewheel-3.0.4.pack.js"></script>                   
<link type="text/css" href="./jqueryui/css/ui-lightness/jquery-ui-1.8.17.custom.css" rel="Stylesheet" />


这使用了jQuery 1.7.1,然后加载jQuery UI,然后加载fancybox

您没有提到它,所以必须问:您能在jq UI之后包含fancybox,看看会发生什么吗?是的,我刚刚尝试过,似乎它确实解决了问题。知道为什么吗?(有没有办法将您的评论升级/标记为解决方案?)。知道为什么吗?(有没有办法将您的评论升级/标记为解决方案?)。(Nicola,注意,我认为JQueryUI必须在其JS本身之前包含)JQueryUI包含JQuery本身吗?不管怎样,现在已经解决了——谢谢!正如加藤在上面的评论,包括fancybox POST JQueryUI解决了这个问题。(Nicola,注意,我认为JQueryUI必须在其JS本身之前包含)JQueryUI包含JQuery本身吗?不管怎样,现在已经解决了——谢谢!