Step By Step 制作XML的Javascript树形目录
2008-02-23 07:48:07来源:互联网 阅读 ()
很多地方都会用到树形目录,比如CSDN论坛的列表,这样的代码也有很多,但是很多人都是拿来主义,没有自己动手做个,下面我就和大家一起分享怎么来自己做一个XML做数据源的TreeMenu。从中你会看到很多有用的JS脚本和页面元素的一些重要但经常被我们忽略的属性用法。
Step1.倒着来,看看完成后的TreeMenu是什么样子的?
JS脚本动态生成的HTML大纲,这个是动态生成的,页面源代码里没有 |
<div id="MyDiv"> <span class="hasItems" id="csxmlTree" style="MARGIN-LEFT: 0px" text="根目录" expanding="true" target treeId> <img src="images/contract.gif">根目录</span><br> <span style="DISPLAY: none"><span class="hasItems" id="csxmlTree" style="MARGIN-LEFT: 16px" text="目录1" expanding="false" target treeId="1000"> <img src="images/contract.gif">目录1</span><br> <span class="Items" id="csxmlTree" style="MARGIN-LEFT: 32px" text="目录1.1" expanding="false" target treeId="2000" href="javascript:alert(this.innerHTML);"> <img src="images/endnode.gif">目录1.1</span><br> <span class="Items" id="csxmlTree" style="MARGIN-LEFT: 32px" text="目录1.2" expanding="false" target="_blank" treeId="2001" href="1.htm"> <img src="images/endnode.gif">目录1.2</span><br> <span class="hasItems" id="csxmlTree" style="MARGIN-LEFT: 16px" text="目录2" expanding="false" target treeId="3000"> <img src="images/contract.gif">目录2</span><br> <span class="Items" id="csxmlTree" style="MARGIN-LEFT: 32px" text="目录2.1" expanding="false" target treeId="3001"> <img src="images/endnode.gif">目录2.1</span><br> <span class="Items" id="csxmlTree" style="MARGIN-LEFT: 32px" text="目录2.2" expanding="false" target treeId="3002"> <img src="images/endnode.gif">目录2.2</span><br> <span class="Items" id="csxmlTree" style="MARGIN-LEFT: 32px" text="目录2.3" expanding="false" target treeId="3003"> <img src="images/endnode.gif">目录2.3</span><br> <span class="Items" id="csxmlTree" style="MARGIN-LEFT: 32px" text="目录2.3" expanding="false" target treeId="3004"> <img src="images/endnode.gif">目录2.3</span><br> <span class="hasItems" id="csxmlTree" style="MARGIN-LEFT: 16px" text="目录3" expanding="false" target treeId="4000"> <img src="images/contract.gif">目录3</span><br> <span class="Items" id="csxmlTree" style="MARGIN-LEFT: 32px" text="目录3.1" expanding="false" target treeId="4001"> <img src="images/endnode.gif">目录3.1</span><br> <span class="Items" id="csxmlTree" style="MARGIN-LEFT: 16px" text="目录4" expanding="false" target treeId="5000"> <img src="images/endnode.gif">目录4</span><br> </span> </div> |
上面的代码是不是看起来很乱?其实不是的,你把它粘贴到FP等可视化工具的代码里面,就能看清楚结构了。其实很简单,就是SPAN网页Tag生成一格嵌套的结构。我们接下来要写的JS脚本的主要目的就是读取XML文件然后生成这样的结构。所以这个是关键,你一定要看明白。不妨把它先存成一个网页,看看效果(注意,原封不动拷贝的话,只能显示“根目录”一项,你需要改动蓝色的地方,把none去掉),除了红色的DIV其他都是JS脚本动态生成的。class="Items"和class="hasItems"是类似这样的样式表单:
.hasItems{font-weight:bold;height:20px;padding:3 6 0 6;margin:2px;cursor:hand;color:#555555;border:1px solid #fffffa;} .Items{height:20px;padding:3 6 0 6;margin:1px;cursor:hand;color:#555555;border:1px solid #fffffa;} |
察看黄色部分的样式表,可以明白Tree结构形式上就是靠这个定义左边距来达到效果了,通过缩紧不同的量,这样就会很清楚把树形构造出来了。
接下来要写的脚本就是要通过一定的方法把上面提到的要点构造出HTML代码来。大家仔细把上面的弄明白,下面我们就开工!!!
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash