跨浏览器 (JavaScript/DHTML) 树形视图
一个易于使用的 DHTML 树形视图组件,可在 Firefox 和 IE 中运行。
引言
我需要一个外观不错的树形视图来用于我的网站 (wickedorange.com/vb2005intro),所以我找到了 这篇文章,作者是 D.D. de Kerf,并对其进行了大幅修改。这两篇文章之间的区别纯粹是美观上的;例如,现在有一个 CSS 文件,你可以使用它来轻松更改树的外观。 还有一些“解决方法”来确保它在 Firefox 和 IE 中都能正常工作。
请注意:由于许可协议,我不得不更改图标。原始图标是 IconBuffet Studio 图标包的一部分,随 Visual Basic Express 2005 一起免费提供(如果您注册)。
使用代码
如果您只想开始创建树,请参阅源代码中的 tree.html。
代码的使用非常简单。首先,我们包含对 CSS 和 JS 文件的引用
<head>
<link href="tree.css" rel="stylesheet" type="text/css" />
<script src="tree.js" type="text/javascript"></script>
<title>TreeView Example</title>
</head>
然后,我们在 body 中添加代码,调用 JavaScript 代码...
- “
addExpandCollapseAll
” 在树的顶部添加按钮。 - “
addNode(text, url, target)
” 添加一个普通节点,不包含子项。
我们使用 “startParentNode(text)
” 开始一个父节点,它可以包含普通节点和其他父节点。然后我们使用 “endParentNode()
” 关闭我们开始的任何父节点。
<body>
<script language="javascript">
addExpandCollapseAll();
addNode("WickedOrange.com","http://www.wickedorange.com","mainFrame");
startParentNode("Search Engines");
addNode("Google","http://www.google.com","mainFrame");
addNode("Yahoo","http://www.yahoo.com","mainFrame");
endParentNode();
startParentNode("Dev Sites");
addNode("CodeProject","https://codeproject.org.cn","mainFrame");
addNode("MSDN","http://www.msdn.com","mainFrame");
startParentNode("Dev Sites");
addNode("CodeProject","https://codeproject.org.cn","mainFrame");
addNode("MSDN","http://www.msdn.com","mainFrame");
startParentNode("Dev Sites");
addNode("CodeProject","https://codeproject.org.cn","mainFrame");
addNode("MSDN","http://www.msdn.com","mainFrame");
endParentNode();
endParentNode();
endParentNode();
</script>
</body>
关注点
有时,Firefox 无法使用 nextSibling
、previousSibling
等方式找到子节点,就像 IE 一样,所以我不得不为以后需要修改的每个项目命名;例如,展开时需要更改父节点图像。
历史
目前还没有!