0

我有一个日历脚本,我从互联网上下来工作正常。最近,我尝试合并一个 jQuery 排序脚本,但我不能让两者一起工作。它是日历脚本或排序脚本有效。

我没有太多的 jQuery 经验。我已经尝试以多种方式更改顺序,更改 jQuery 版本并注释掉一堆 JS 脚本,但我仍然只能得到 get 或其中一个或没有一个工作。

该页面受密码保护,从数据库中提取的信息是私有的,但如果有帮助,我会尝试用虚拟数据创建一个单独的页面;但我希望这个错误是一个明显的错误。

这是页眉:

<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。让我知道是否有任何其他我可以添加的信息可能对此有所帮助...

4

2 回答 2

1

问题是当您取消注释有问题的部分时,您正在加载 jQuery 库两次。这将导致第二个脚本覆盖上面$的插件已经附加的所有功能(它们的功能位于对象内部)。$

解决您的问题的简单方法:只加载一次 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>
于 2012-09-25T08:18:12.220 回答
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>

正在相互竞争。

于 2012-09-25T08:19:15.043 回答