我有一个日历脚本,我从互联网上工作正常。最近,我尝试合并一个jQuery排序脚本,但我不能让两者一起工作。它可以是日历脚本,也可以是有效的排序脚本。
我没有太多的jQuery经验。我尝试过多种方式更改顺序,更改jQuery版本并注释掉一堆JS脚本,但我仍然只能得到一个或者一个或者没有一个工作。
该页面受密码保护,从数据库中提取的信息是私有的,但如果有帮助,我会尝试使用虚拟数据创建一个单独的页面;但我希望这个错误是一个明显的错误。
这是页面头:
<head>
<title>My Page</title>
<!-- css -->
<link rel="stylesheet" type='text/css' href="stylesheets/datatable.css"/>
<link href="stylesheets/pagination.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="css/jquery-ui-timepicker-addon.css" />
<link rel="stylesheet" media="all" type="text/css" href="css/Aristo.css" />
<!-- scripts -->
<!-- [if lte IE 8]>
<script language="javascript" type="text/javascript" src="scripts/excanvas.js"></script> <![endif] -->
<script type="text/javascript" src="js/jquery-latest.js"></script>
<script type="text/javascript" src="scripts/jquery.datatables.js"></script>
<script type="text/javascript" src="scripts/jquery.fullcalendar.js"></script>
<script type="text/javascript" src="scripts/jquery.placeholder.js"></script>
<script type="text/javascript" src="scripts/jquery.accordion.js"></script>
<script type="text/javascript" src="scripts/jquery.tabbed.js"></script>
<script type="text/javascript" src="scripts/application.js"></script>
<!-- If I enable this, the calendar works but the sorting script stops working:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.8.23/jquery-ui.min.js"></script> -->
<script type="text/javascript" src="js/jquery-ui-timepicker-addon.js"></script>
<script type="text/javascript" src="js/jquery-ui-sliderAccess.js"></script>
</head>
这里有明显的错误吗?我正在使用其他人的jQuery。如果有任何其他信息,我可以告诉我这可能有助于此...
答案 0 :(得分:1)
问题是当您取消注释相关部件时,您正在加载jQuery库两次。这将导致第二个脚本覆盖$
,因此上面的插件已经附加到它的所有功能(它们的功能是生活在$
对象内)。 / p>
解决您的问题的简单方法:只加载一次jQuery(最好是通过CDN),将原始库加载为第一个脚本,然后加载其插件,然后加载自己的脚本。
因此,正确的顺序应为:
<!-- Loading jQuery via Google -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<!-- Loading jQuery scripts -->
<script type="text/javascript" src="scripts/jquery.datatables.js"></script>
<script type="text/javascript" src="js/jquery-ui-timepicker-addon.js"></script>
<script type="text/javascript" src="js/jquery-ui-sliderAccess.js"></script>
<script type="text/javascript" src="scripts/jquery.fullcalendar.js"></script>
<script type="text/javascript" src="scripts/jquery.placeholder.js"></script>
<script type="text/javascript" src="scripts/jquery.accordion.js"></script>
<script type="text/javascript" src="scripts/jquery.tabbed.js"></script>
<script type="text/javascript" src="scripts/application.js"></script>
答案 1 :(得分:0)
您的排序脚本和日历脚本使用了2个不同版本的jQuery。我假设您的排序脚本正在提取的那个与日历(您的代码中注释掉的那个)冲突。具体做法是:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
和
<script type="text/javascript" src="js/jquery-latest.js"></script>
互相竞争。