Accessing Joust Properties and Methods

The MenuItem Object

Properties

theMenu.entry[entryID].id
This property contains the ID of the entry. This can be useful in custom event functions where you are passed a menuEntry object instead of the ID.
theMenu.entry[entryID].type
This property contains the type of the entry. This corresponds to the name of the image used for drawing the entry. Changes to this property will not take effect until the menu is refreshed.
theMenu.entry[entryID].text
This property contains the text of the entry. Changes to this property will not take effect until the menu is refreshed.
theMenu.entry[entryID].url
This property contains the url of the page that will be loaded when the user clicks on the entry. Changes to this property will not take effect until the menu is refreshed.
theMenu.entry[entryID].status
This property contains the text that will be displayed in the status area when the mouse is moved over the entry. Set status to null to display the entries URL. Changes to this property will take effect next time the mouse moves over the entry.
theMenu.entry[entryID].target
This property contains the value used in the TARGET attribute when building the link for the entry. Changes to this property will not take effect until the menu is refreshed.
theMenu.entry[entryID].nextItem
This property contains the ID of the next entry in the menu that is at the same level as this one and in the same branch. It will be -1 if there isn't one. Note: Do not modify this unless you are very sure you know what you are doing. It is much safer to use the rmvEntry, rmvChildren, addEntry and addChild methods of the Menu object.
theMenu.entry[entryID].prevItem
This property contains the ID of the previous entry in the menu that is at the same level as this one and in the same branch. It will be -1 if there isn't one. Note: Do not modify this unless you are very sure you know what you are doing. It is much safer to use the rmvEntry, rmvChildren, addEntry and addChild methods of the Menu object.
theMenu.entry[entryID].FirstChild
This property contains the ID of the first child entry of this one. It will be -1 if there isn't one. Note: Do not modify this unless you are very sure you know what you are doing. It is much safer to use the rmvEntry, rmvChildren, addEntry and addChild methods of the Menu object.
theMenu.entry[entryID].parent
This property contains the ID of the parent of this entry. It will be -1 if there isn't one (it's a top level entry). Note: Do not modify this unless you are very sure you know what you are doing. It is much safer to use the rmvEntry, rmvChildren, addEntry and addChild methods of the Menu object.
theMenu.entry[entryID].isopen
This boolean property contains current expanded/collapsed state of the entry. Changes to this property will not take effect until the menu is refreshed. If you want to change this property then you should use the setEntry method of the Menu object.
theMenu.entry[entryID].isSelected
This boolean property contains current selected state of the entry. Changes to this property will not take effect until the menu is refreshed. If you want to change this property after the menu has been drawn, then you should use the itemClicked method of the Menu object.
theMenu.entry[entryID].noOutlineImg
This boolean property suppresses the expand/collapse image for the entry. If set to true, the entry is drawn as if toggleOnLink is true but without the expand/collapse image. It is intended to allow the creation of a root node (as used in many Microsoft outlines) by setting noOutlineImg to true for the first entry. noOutlineImg is undefined by default.
theMenu.entry[entryID].CSSClass
This property specifies the name of the CSS Class to apply to the entry. By default, Joust uses the "node" and "leaf" classes defined in menu.htm as appropriate. Setting CSSClass will override the default. The class specified must be defined in a style sheet in menu.htm. CSSClass is undefined by default.
theMenu.entry[entryID].multiLine

This boolean property, if true, indicates that the entry should wrap at the right edge of the frame. The dotted lines that make up the Windows and O"/2 style outlines are not automatically extended for multi-line entries, so you should change your images to something more appropriate.

Multi-line entries are created by placing the entry inside a table and allowing the browser to handle the wrapping. Some older browsers reset the font attributes to the page defaults inside a table, ignoring the FONT tags you set up around the outline. If your site needs to work on non-CSS browsers (which can include Netcape 4 with CSS turned off in the preferences) you should specify appropriate default attributes for menu.htm using the <BASEFONT> tag.

Methods

theMenu.entry[entryID].setIcon(newIcon)
Changes the image associated with an entry. newIcon is the name of the icon in the imgStore to be used for this entry.
The Joust Outliner