JQUERY在ASP.net和APACHE上的运行效果不同

cj1205 2012-10-12 11:03:51
先上代码:
<meta charset="utf-8" name="description" content="web">
<!doctype html>

<html>
<head>
<title></title>
<link href="JS/ligerUI/skins/Aqua/css/ligerui-all.css" rel="stylesheet" type="text/css" />
<script src="JS/jquery/jquery-1.5.2.min.js" type="text/javascript"></script>
<script src="JS/ligerUI/js/core/base.js" type="text/javascript"></script>
<script src="JS/ligerUI/js/plugins/ligerGrid.js" type="text/javascript"></script>
<script src="JS/ligerUI/js/plugins/ligerTextBox.js" type="text/javascript"></script>
<script src="JS/ligerUI/js/plugins/ligerDialog.js" type="text/javascript"></script>
<script src="JS/ligerUI/js/plugins/ligerLayout.js" type="text/javascript"></script>
<script src="JS/ligerUI/js/plugins/ligerAccordion.js" type="text/javascript"></script>
<script src="JS/ligerUI/js/plugins/ligerMessagebox.js" type="text/javascript"></script>
<script src="JS/ligerUI/js/plugins/ligerMessagebox.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("#layout_header").ligerLayout({ height: '15%' });
$("#layout_body").ligerLayout({ leftwidth: 200 });

$("#menu_list").ligerAccordion({ height: $("#layout_body").height() - 20, speed: 'normal', changeHeightOnResize: true });

$("#tree_public").ligerTree({ checkbox: false, nodeWidth: 90, single: true, nodeDraggable: false,
data:
[{ text: "公告" },
{ text: "會議室" },
{ text: "會議室2"}]
});
});
</script>
</head>
<body style="padding:10px">


<div id="layout_header">
<p></p>
</div>

<div id="layout_body">
<div id="menu_list" title="導航" position="left">
<div title="群聊">
<ul id="tree_public"></ul>
</div>


<div title="私聊"></div>
<div title="設置"></div>
</div>

<div id="layout_right" position="center" title="VIEW">
<p></p>
</div>
</div>

</body>
</html>

case 1: 覆盖这段代码到一个aspx文件中(<%@ page>保留),然后运行,发现tree_public只能显示第一个元素(即"公告"),其他两个节点无法显示.
case 2: 放这段代码到一个html文件中,启用Apache server, 效果正常.所有节点被显示.

调用google浏览器的控制台,查看elements,发现两次运行效果一致.源码如下.

<ul id="tree_public" class="l-tree" style="width: 134px; " ligeruiid="tree_public">
<li treedataindex="0" isexpand="undefined" outlinelevel="1" class="l-first "><div class="l-body"><div class="l-box l-note"></div><div class="l-box l-tree-icon l-tree-icon-leaf "></div><span>公告</span></div></li>
<li treedataindex="1" isexpand="undefined" outlinelevel="1" class=""><div class="l-body"><div class="l-box l-note"></div><div class="l-box l-tree-icon l-tree-icon-leaf "></div><span>會議室</span></div></li>
<li treedataindex="2" isexpand="undefined" outlinelevel="1" class="l-last "><div class="l-body"><div class="l-box l-note-last"></div><div class="l-box l-tree-icon l-tree-icon-leaf "></div><span>會議室2</span></div></li></ul>

请问是什么原因呢?
...全文
208 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cj1205 2012-10-16
  • 打赏
  • 举报
回复
应该是js包含在Head和body区别的问题...没有系统学习过web开发...悲催了
cj1205 2012-10-16
  • 打赏
  • 举报
回复
找到问题所在了. 把JS代码直接写在html页面中,则一切正常. 新建一个JS文件(顶楼中为:main.js),结果就杯具了. 奇怪的是,已经验证两种方案js代码都有被执行.
cj1205 2012-10-15
  • 打赏
  • 举报
回复
多谢二位的解答. 不过尝试了多种方法,仍然无解.
1) 在IE和CHROME中都尝试过,有相同的问题. 应该不是css兼容性问题.
2) DOCTYPE选的是html啊,在其他地方还有设置么?
泡泡鱼_ 2012-10-13
  • 打赏
  • 举报
回复
我是说,一个html页面。放在非Apache服务器里
cj1205 2012-10-13
  • 打赏
  • 举报
回复
已经放了啊,单纯的放在一个html里面,效果很正常,不过是用Apache服务器.
  • 打赏
  • 举报
回复
你在这两个不同环境里查看时,要复制全部的代码,才能比较。

因为你现在这样做,只是证明你的后台代码的确生成了该生成的细节而已。而引起显示问题的,则是在别处的代码上。所以你只复制这些看,自然就显示不同了。你把其它的代码逐部分加进去,看结果就能知道是哪里的问题了。

  • 打赏
  • 举报
回复
你ASP.NET设置的查看浏览器和你看APACHE页面的浏览器是一个吗。
不是的话,可能是CSS浏览器兼容问题。
若是的话,可能是你ASP.NET页面里框架代码使用的DOCTYPE不合适,如果是XHTML的,换成HTML的。
cj1205 2012-10-13
  • 打赏
  • 举报
回复
在ASP.net工程中新建一个html页面,并加入上述代码,运行之,结果还是只能显示第一个元素.(html的代码在两种服务器上完全一致). 诸位也可以试试. 如有知道原因的,请不吝告之.

原先贴的代码有误,需要添加:
<script src="JS/ligerUI/js/plugins/ligerTree.js" type="text/javascript"></script>
泡泡鱼_ 2012-10-12
  • 打赏
  • 举报
回复
你应该把你的代码放去一个html页面中试试效果,再来下结论

87,991

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧