I need a Javascript method that will stack items into an array. Not a global array...

Sharky Forums


Results 1 to 2 of 2

Thread: I need a Javascript method that will stack items into an array. Not a global array...

  1. #1
    Hammerhead Shark Alphathree's Avatar
    Join Date
    Oct 2000
    Location
    Windsor, Ontario, Canada
    Posts
    1,842

    I need a Javascript method that will stack items into an array. Not a global array...

    Below is an excerpt from what I am working on.

    It is a fancy-smansy drop-down (actually drop-sideways) menu system.

    I know CSS like I know the back of my own hand, but Javascript Objects is fresh and new. (Actually, I don't know the back of my own hand very well, but I know it like I know... my girlfriend. Wait, I don't have a girlfriend. Forget it.)

    Anyway, you'll notice that I want to call addMenuItem numerous times. So, for example, when you mouse over corporate, you'll see Awards and Innovations and Board and Administration in the next level of menu.

    I have the mechanics of displaying this all worked out elsewhere in my script.

    So here's my problem. Obviously each time I call addMenuItem, it erases the previous item in that menu group.

    Anyone who has any computer science background at this point thinks "DING! It's time for an array!"

    At first I tried making an array inside MenuGroup. var myArray = new Array(). I had low hopes of this working because it is clearly a local array, and I can't mess with it from addMenuItem()

    Next I tried making strItemName and strItemURL into arrays. Let's jsut say this.strItemName[this.iMenuItems] = strItemName produces some really interesting errors.

    So: how the heck do I do this?!

    Code:
    function MenuGroup(strGroupName, strGroupURL) {
    	// Properties
    	this.iMenuItems		= 0;
    	this.strGroupName 	= strGroupName;
    	this.strGroupURL	= strGroupURL;
    
    	// Methods
    	this.addMenuItem        = addMenuItem;
    }
    
    function addMenuItem(strItemName, strItemURL) {
    	this.strItemName	= strItemName;
    	this.strItemURL	        = strItemURL;
    	this.iMenuItems	        = this.iMenuItems + 1;
    }
    
    var x = new MenuGroup("Corporate", "default.asp");
    x.addMenuItem("Awards and Innovations", "awards.asp");
    x.addMenuItem("Board and Administration", "board.asp");
    Last edited by Alphathree; 07-03-2002 at 03:10 PM.
    I miss Off Topic.

  2. #2
    Hammerhead Shark Alphathree's Avatar
    Join Date
    Oct 2000
    Location
    Windsor, Ontario, Canada
    Posts
    1,842
    Furthermore, why have I been downgraded to Hammerhead shark? LOL
    I miss Off Topic.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •