首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么当我用php转换用例时,我的js只有一些工作呢?

为什么当我用php转换用例时,我的js只有一些工作呢?
EN

Stack Overflow用户
提问于 2014-06-26 04:56:55
回答 2查看 59关注 0票数 0

我不知道为什么只有我的一些js起作用。

我在我的php文件中使用了一个开关箱。

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

然而,"content_allinboxes.php“也使用”jquery.ui.touch-princh.min.js“和”jquery 1.10.3.custom.min.js“,但它们没有被识别。

我做错了什么?我已经干了好几个小时了,弄不明白。

(注意:如果我不将"content_allinboxes.php“放入开关-case中,则两个javascript文件可以工作。)

以下是如何调用开关内容:

代码语言:javascript
运行
复制
<div id="displayLoading"><img src="images/account/loading_indicator.gif"/></div>
<div id="displayContent" style="height: 100%; width: 100%"></div>

这是开关箱代码。这个文件名为"content_load.php":

代码语言:javascript
运行
复制
<?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);
?>

下面是运行开关的javascript。该文件名为"switchcontent.min.js":

代码语言:javascript
运行
复制
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:

代码语言:javascript
运行
复制
<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>
EN

回答 2

Stack Overflow用户

发布于 2014-06-26 05:05:16

代码语言:javascript
运行
复制
<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源代码添加的顺序,首先添加jQuery min,然后添加jQuery ui触摸,然后其他js填充JS中的引用,最后填充JS。

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

票数 0
EN

Stack Overflow用户

发布于 2014-06-26 05:17:39

这是进口的标准顺序:

代码语言:javascript
运行
复制
 <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>

而你的:

代码语言:javascript
运行
复制
<script src="js/switchcontent.min.js"></script>
<script src="js/switchcontent.js"></script>

基本上都一样。所以删除两个中的任何一个。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24422647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档