为什么当我用php切换案例时,只有一些js可以工作
Why do only some of my js work when I switch cases with php?
我一辈子都不明白为什么只有一些js能工作。
我在php文件中使用了一个switch案例。
"content_allinboxes.php"answers"content_emails.php"都可以识别"app.v2.js"。
然而,"content_allinboxes.php"也使用了"jquery.ui.touch-punch.min.js"&"jquery-ui-1.10.3.custom.min.js",但它们无法识别。
我做错了什么?我已经做了好几个小时了,想不通。
(注意:如果我不把"content_allinboxes.php"放在switch的情况下,这两个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>
<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>
颠倒JavaScriptSource添加的顺序,首先添加jQuery-min,然后添加jQuery-ui-touch,然后其他JS在您的JS中填充引用,最后是您的JS。
PS:检查浏览器控制台以查看错误详细信息。
这是导入的标准顺序:
<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>
基本相同。所以删除两者中的任何一个。
相关文章:
- 如何使用多个jquery版本,以便Responsive Slides.js工作
- 无法使FlowType.js工作
- Intellisense没有;t在VS2013中为JS工作
- 有人能解释一下如何#ifeq吗/section键使用handle.js工作
- 使dropzone.js工作的傻瓜指南
- 如何获得侧边栏.js工作
- 如何在没有 Web 服务器的情况下做出响应.js工作
- 创建JS工作,但不显示工具栏
- 无法获得简单的敏捷.js工作
- 通过有错误的 Ajax-Request 打印出 HTML 会阻止进一步的 JS 工作
- Angular JS-工作函数中的“错误:[$interpole:interr]Can't interpole:
- 推特's Bootstrap Popover:赢得't工作,即使其他JS工作正常
- 可以'不要让typeahead.js工作
- 无法让Quicksand.js工作
- 通过Grunt使用Node.js工作SASS预处理器
- 可以'不要让popcorn.js工作
- 不能让Bootstrap modal.js工作
- 我怎么能与wordpress中的wow.min.js工作
- 无法让haxe-pixi.js工作-我得到一个空白的白色屏幕
- 不能让impress.js工作