Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
TreeNode.js
Package: a.rar [view]
Upload User: aa118c
Upload Date: 2021-05-13
Package Size: 4785k
Code Size: 5k
Category:
WEB(ASP,PHP,...)
Development Platform:
HTML/CSS
- var currentNode = null;
- function TreeNode(text, url, iconOpen, iconOpenHover, iconClosed, iconClosedHover) {
- var $ = this;
- this.level = 0;
- this.children = [];
- this.parent = null;
- this.status = "CLOSED";
- this.ancestor = [];
- this.isHover = false;
- this.PATH = "../images/tree/";
- this.COLLAPSED = this.PATH + "arrow_collapsed.gif";
- this.EXPANDED = this.PATH + "arrow_expanded.gif";
- this.COLLAPSED_HOVER = this.PATH + "arrow_collapsed_hover.gif";
- this.EXPANDED_HOVER = this.PATH + "arrow_expanded_hover.gif";
- this.CATEGORYOPEN = this.PATH + (iconOpen ? iconOpen : "folder_open.gif");
- this.CATEGORYOPEN_HOVER = this.CATEGORYOPEN;
- this.CATEGORYCLOSED = this.PATH + (iconClosed ? iconClosed : "folder_closed.gif");
- this.CATEGORYCLOSED_HOVER = this.CATEGORYCLOSED;
- this.EMPTY = this.PATH + "empty.gif";
- this.container = document.createElement("DIV");
- this.content = document.createElement("DIV");
- this.indentSpace = document.createElement("SPAN");
- this.statusIcon = document.createElement("IMG");
- this.node = document.createElement("SPAN");
- this.nodeIcon = document.createElement("IMG");
- this.label = document.createElement("A");
- this.container.appendChild(this.content);
- this.content.appendChild(this.indentSpace);
- this.content.appendChild(this.statusIcon);
- this.content.appendChild(this.node);
- this.node.appendChild(this.nodeIcon);
- this.node.appendChild(this.label);
- this.container.style.display = "block";
- this.statusIcon.src = this.COLLAPSED;
- this.nodeIcon.src = this.CATEGORYCLOSED;
- this.nodeIcon.align = "absmiddle";
- this.statusIcon.align = "absmiddle";
- this.statusIcon.style.cursor = "default";
- this.node.style.cursor = "default";
- this.label.style.lineHeight = "20px";
- this.label.style.fontSize = "12px";
- this.label.style.display = "inline-block";
- this.label.style.backgroundImage = "url(" + this.BG + ")";
- this.label.style.backgroundRepeat = "repeat-x";
- this.label.innerHTML = text;
- if (url) {
- this.label.href = url;
- this.label.target = "mainFrame";
- }
- this.add = function(child) {
- this.container.appendChild(child.container);
- this.children.push(child);
- child.parent = this;
- }
- this.remove = function(child) {
- child.container.removeNode(true);
- var temp = [];
- for (var i = 0; i < this.children.length; i++) {
- if (this.children[i] != child) {
- temp.push(this.children[i]);
- } else {
- continue;
- }
- }
- this.children = temp;
- }
- this.hidden = function() {
- this.container.style.display = "none";
- }
- this.show = function() {
- this.container.style.display = "block";
- }
- this.getAncestor = function(level) {
- if (this.level == level)
- return this;
- for (var i = 0; i < $.ancestor.length; i++) {
- if ($.ancestor[i].level == level) {
- return $.ancestor[i];
- }
- }
- return null;
- }
- this.contains = function(node) {
- for (var i = 0; i < $.children.length; i++) {
- if ($.children[i] == node) {
- return true;
- }
- $.children[i].contains(node);
- }
- return false;
- }
- this.indent = function() {
- this.indentSpace.innerHTML = "";
- for (var i = 0; i < this.level; i++) {
- var indentImg = document.createElement("IMG");
- indentImg.src = this.EMPTY;
- indentImg.align = "absmiddle";
- this.indentSpace.appendChild(indentImg);
- }
- this.collapse();
- }
- this.setIcon = function() {
- this.nodeIcon = this.status == "CLOSED" ?
- ($.isHover ? $.CATEGORYCLOSED_HOVER : $.CATEGORYCLOSED) :
- ($.isHover ? $.CATEGORYOPEN_HOVER : $.CATEGORYOPEN);
- }
- this.collapse = function() {
- for (var i = 0; $.children && i < $.children.length; i++) {
- $.children[i].hidden();
- }
- $.statusIcon.src = $.COLLAPSED;
- $.nodeIcon.src = $.CATEGORYCLOSED;
- $.status = "CLOSED";
- }
- this.expand = function() {
- for (var i = 0; $.children && i < $.children.length; i++) {
- $.children[i].show();
- }
- $.statusIcon.src = $.EXPANDED;
- $.nodeIcon.src = $.CATEGORYOPEN;
- $.status = "OPEN";
- }
- this.expandOrCollapse = function() {
- if ($.status == "CLOSED") {
- if (currentNode) {
- var ancestor = currentNode.getAncestor(1);
- var myAncestor = $.getAncestor(1);
- if (ancestor && myAncestor && ancestor != myAncestor) {
- ancestor.collapse();
- }
- }
- currentNode = $;
- $.expand();
- } else {
- $.collapse();
- }
- }
- this.node.onmousedown = function() {
- if (currentNode) {
- currentNode.nodeIcon.src = (currentNode.status == "CLOSED" ? currentNode.CATEGORYCLOSED : currentNode.CATEGORYOPEN);
- }
- }
- this.node.onmouseup = function() {
- if (event.button == 2) {
- }
- }
- this.content.onselectstart = function() {
- return false;
- }
- this.statusIcon.onclick = this.expandOrCollapse;
- this.nodeIcon.ondblclick = this.expandOrCollapse;
- this.label.onclick = this.expandOrCollapse;
- this.statusIcon.onmouseover = function() {
- this.src = $.status == "CLOSED" ? $.COLLAPSED_HOVER : $.EXPANDED_HOVER;
- }
- this.statusIcon.onmouseout = function() {
- this.src = $.status == "CLOSED" ? $.COLLAPSED : $.EXPANDED;
- }
- }