Click here to Skip to main content
15,064,166 members
Articles / Web Development / HTML
Posted 16 Mar 2005


43 bookmarked

Tree View

Rate me:
Please Sign up or sign in to vote.
4.22/5 (22 votes)
16 Mar 20051 min read
Tree View builds tree browsers for your web pages.

Sample Image - screenshot.gif


Tree View builds tree browsers for your web pages. It was inspired by D. D. de Kerf who created Easy DHTML treeview.

However, it was not practical for creating complex dynamic trees. So I took his ideas and wrote a JavaScript that uses DOM to build the hierarchical document he created with static HTML.

To build the tree is very straightforward:

  1. You include the treeview.js file into your HTML.
    <script language="javascript" src="scripts/tree_view.js"></script>
  2. Hook into the event that calls a method when the page is loaded:
    <body onLoad="CreateProjectExplorer()">
  3. Create a function that builds the tree:
    function CreateProjectExplorer()
        // This MUST be the called before
        // any other of treeview's funcitons.
        // Build a test project.
        d = CreateTreeItem( rootCell, "img/project.gif", 
            "img/project.gif", "Point of Sale terminal", 
            null, null );
        d2 = CreateTreeItem( d, "img/folder_closed.gif", 
             "img/folder_open.gif", "Actors", null, null );
        // .....

That's it! You are up and running with a tree browser.

The function signature is:

// Creates a new package under a parent. 
// Parameters:
//    parent: The parent element of the new element. (E.g. a folder)
//    img1FileName: File name of the "unclicked" image. (E.g. Closed folder)
//    img2FileName: File name of the "clicked" image. (E.g. Open folder)
//    nodeName: The text to display for the tree node.
//    url: The url to link to when the node is clicked.
//    target: Target when the node is clicked.
//            Possible values are: Frame name, _blank, _self
// Returns:
//    The newly created tree node item. 
//    To create children of the new node pass the returned 
//    node in as a parent of another new node.
function CreateTreeItem( parent, img1FileName, 
                         img2FileName, nodeName, url, target )

Thanks to D. D. de Kerf for the inspiration!

Note: This script is supplied "as is" without any form of warranty. Rewritten Software shall not be liable for any loss or damage to person or property as a result of using this script. Use this script at your own risk!

You are licensed to use this script free of charge for commercial or non-commercial use providing you do not remove the copyright notice or disclaimer from the comment section in the script.

Have fun!


This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


About the Author

Bryon Baker
Web Developer
Australia Australia
No Biography provided

Comments and Discussions

GeneralThanx Pin
Ajay K Tomar25-Jan-09 21:36
MemberAjay K Tomar25-Jan-09 21:36 
QuestionHow to use it in asp.net2.0 Pin
VimalSaifudin11-Nov-07 19:39
MemberVimalSaifudin11-Nov-07 19:39 
QuestionOpening the URL in the same window Pin
ai4u28-Jun-07 3:00
Memberai4u28-Jun-07 3:00 
Questionhow to display xml data in treecheckbox using javascript Pin
snitu8-Apr-07 18:35
Membersnitu8-Apr-07 18:35 
GeneralNot running Pin
sdhiman28-Dec-06 0:06
Membersdhiman28-Dec-06 0:06 
GeneralDrawing the tree in a special location Pin
islam galileo19-Apr-06 3:13
Memberislam galileo19-Apr-06 3:13 
GeneralRe: Drawing the tree in a special location Pin
islam galileo19-Apr-06 3:16
Memberislam galileo19-Apr-06 3:16 
GeneralRe: Drawing the tree in a special location Pin
jrios21-May-06 8:24
Memberjrios21-May-06 8:24 
GeneralRemoving Plus When there are no child nodes Pin
Mikan2314-Feb-06 12:39
MemberMikan2314-Feb-06 12:39 
GeneralRe: Removing Plus When there are no child nodes Pin
mrtsherman30-Apr-06 16:45
Membermrtsherman30-Apr-06 16:45 
GeneralRe: Removing Plus When there are no child nodes Pin
Mikan2330-Apr-06 19:51
MemberMikan2330-Apr-06 19:51 
GeneralRe: Removing Plus When there are no child nodes Pin
mrtsherman2-May-06 5:37
Membermrtsherman2-May-06 5:37 
GeneralRe: Removing Plus When there are no child nodes Pin
Mikan2318-May-06 13:13
MemberMikan2318-May-06 13:13 
Generalthanks Pin
Merlin Rose5-May-09 21:13
MemberMerlin Rose5-May-09 21:13 
GeneralThank You Pin
davidgev30-Nov-05 9:46
Memberdavidgev30-Nov-05 9:46 
GeneralTreeView Vertical Lines Pin
Member 229622930-Sep-05 5:41
MemberMember 229622930-Sep-05 5:41 
GeneralRe: TreeView Vertical Lines Pin
Bryon Baker30-Sep-05 16:23
MemberBryon Baker30-Sep-05 16:23 
GeneralExpand Tree View Pin
Member 229622928-Sep-05 4:28
MemberMember 229622928-Sep-05 4:28 
GeneralRe: Expand Tree View Pin
Bryon Baker28-Sep-05 10:25
MemberBryon Baker28-Sep-05 10:25 
Generalline provision Pin
Sudhakar J27-Sep-05 1:17
MemberSudhakar J27-Sep-05 1:17 
GeneralRe: line provision Pin
Sudhakar J27-Sep-05 1:32
MemberSudhakar J27-Sep-05 1:32 
Generalexpand tree node Pin
Member 13163148-Aug-05 16:14
MemberMember 13163148-Aug-05 16:14 
GeneralRe: expand tree node Pin
Bryon Baker8-Aug-05 23:46
MemberBryon Baker8-Aug-05 23:46 
GeneralThanks Pin
EEmadzadeh6-Aug-05 15:59
MemberEEmadzadeh6-Aug-05 15:59 
GeneralRe: Thanks Pin
Sudhakar J27-Sep-05 4:54
MemberSudhakar J27-Sep-05 4:54 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.