我不知道为什么只有我的一些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文件可以工作。)
以下是如何调用开关内容:
<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);
?>下面是运行开关的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>发布于 2014-06-26 05:05:16
<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:检查浏览器控制台查看错误详细信息。
发布于 2014-06-26 05:17:39
这是进口的标准顺序:
<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>基本上都一样。所以删除两个中的任何一个。
https://stackoverflow.com/questions/24422647
复制相似问题