当我用php切换案例时,为什么只有一些我的j工作?

时间:2014-06-26 04:56:55

标签: javascript php ajax switch-statement

我无法弄明白为什么只有我的一些j工作。

我在我的php文件中使用了一个switch-case。

“content_allinboxes.php”和“content_emails.php”都可以识别“app.v2.js”。

但是,“content_allinboxes.php”也使用“jquery.ui.touch-punch.min.js”& “jquery-ui-1.10.3.custom.min.js”但它们无法识别。

我做错了什么?我已经在这几个小时了,无法理解。

(注意:如果我没有在switch-case中放入“content_allinboxes.php”,那么这两个javascript文件就可以工作。)


以下是调用开关内容的方法:

<div id="displayLoading"><img src="images/account/loading_indicator.gif"/></div>
<div id="displayContent" style="height: 100%; width: 100%"></div>

这是开关案例代码。该文件名为“content_load.php”:

<?php
switch($_GET['id']) {
    case 'feeds_allinboxes':
        $content = 'content_allinboxes.php';
        break;
    case 'feeds_emails':
        $content = 'content_emails.php';
        break;
    case 'feeds_chats':
        $content = 'test_print.html';
        break;
    case 'feeds_phones':
        $content = 'test_print.html';
        break;
    default:
        $content = 'test_print.html';
} 

include($content);
?>

这是运行switch-cases的javascript。该文件名为“switchcontent.min.js”:

document.observe('dom:loaded', function () {
    var switches = document.getElementsByClassName('switches');
    for (var i = 0; i < switches.length; i++) {
        $(switches[i].id).onclick = function () {
            getContent(this.id);
        }
    }
});

function getContent(id) {
    var url = 'pages/content_load.php';
    var rand   = Math.random(9999);
    var pars   = 'id=' + id + '&rand=' + rand;
    var myAjax = new Ajax.Request( url, {method: 'get', parameters: pars, onLoading: showLoad, onComplete: showResponse} );
}

function showLoad () {
    $('displayContent').style.display = 'none';
    $('displayLoading').style.display = 'block';
}

function showResponse (originalRequest) {
    var newData = originalRequest.responseText;
    $('displayLoading').style.display = 'none';
    $('displayContent').style.display = 'block';        
    $('displayContent').innerHTML = newData;
}

以下是页脚javascripts:

<script src="js/app.v2.js"></script>
<script src="js/switchcontent.js"></script>
<script src="js/switchcontent.min.js"></script>
<script src="js/jquery.ui.touch-punch.min.js" cache="false"></script>
<script src="js/jquery-ui-1.10.3.custom.min.js" cache="false"></script>

2 个答案:

答案 0 :(得分:0)

<script src="js/jquery-ui-1.10.3.custom.min.js" cache="false"></script>
<script src="js/jquery.ui.touch-punch.min.js" cache="false"></script>
<script src="js/switchcontent.min.js"></script>
<script src="js/switchcontent.js"></script>
<script src="js/app.v2.js"></script>

颠倒JavaScript Source添加的顺序,首先添加jQuery min,然后添加jQuery ui touch,然后在JS中添加其他JS filles引用,最后添加js。

PS:检查浏览器控制台以查看错误详细信息。

答案 1 :(得分:0)

这是导入的标准顺序:

 <script src="YOUR_JQUERY_VERSION_.js"></script>
 <script src="JQUERY_UI_VERSION.js"></script> 
 <script src="OTHER_JQUERY_LIBRARIES.js"></script> 
 <script src="YOUR_OWN_LIBRARY.js"></script>

和你的:

<script src="js/switchcontent.min.js"></script>
<script src="js/switchcontent.js"></script>

基本相同。所以删除其中一个。