Solved

Dynamic Menu Spacer

Posted on 2003-11-15
1
360 Views
Last Modified: 2010-04-03
How do I put a spacer of 50 pixels in between each category of this dynamic menu system and not have it put an additional 50 pixel spacer at the bottom?  This 50 pixel spacer should only insert if the there are two or more categories.  

Here's the link:  http://dev.fusionapps.com/wboe/flash/right_nav/flashmenu.html

Here's the code:

data_var = new LoadVars();
data_var.path = this;
data_var.onLoad = function(ok)
{
     if(ok){
          this.path.menuGeneration(this);
     } else {
          trace("CFM PAGE MISSING");    
     }
};

function menuGeneration()
{
     var startY = 1, depth = 0;
     var temp = data_var.cats.split("|");
      
                     //new TextFormat([font, [size, [color, [bold, [italic, [underline, [url, [target, [align, [leftMargin, [rightMargin, [indent, [leading]]]]]]]]]]]]])
     var style1_fmt = new TextFormat("textFont", "14", "0x000000", "bold", "false", "false", "", "", "center");
     var style2_fmt = new TextFormat("Verdana", "12", "0x000000", "true", "false", "false", "", "", "left", "3", "5", "");
     for(var i = 0; i < temp.length; i++){
          var mc = this.createEmptyMovieClip("main" + depth, depth);
          depth++;
          mc.lineStyle(1, 0x912211, 100);
          mc.beginFill(0xEDD593, 100);
          mc.lineTo(198, 0);     mc.lineTo(198, 20);     mc.lineTo(0, 20);     mc.lineTo(0, 0);
          mc.endFill();
          mc.createTextField("text_txt", "1", "0", "0", "198", "20"); //name, depth, x, y, width, height
          mc.text_txt.selectable = false;
          mc.text_txt.embedFonts = true;
          mc.text_txt.text = temp[i];
          mc.text_txt.setTextFormat(style1_fmt);
          mc._x = 1;     mc._y = startY;
          startY += mc._height + 4;
          var subText = data_var["subcats" + i].split("|");
          var subLink = data_var["urls" + i].split("|");
          for(var j = 0; j < subText.length; j++){
               var sc = this.createEmptyMovieClip("sub" + depth, depth);
               depth++;
               sc.createTextField("text_txt", "3", "0", "1", "198", "20");  //name, depth, x, y, width, height
               sc.text_txt.multiline = true;
               sc.text_txt.wordWrap = true;
               sc.text_txt.autoSize = "left";
               sc.text_txt.selectable = false;
               sc.text_txt.embedFonts = false;
               sc.text_txt.text = subText[j];
               sc.text_txt.setTextFormat(style2_fmt);
               var hgt = sc.text_txt._height + 2 > 20 ? sc.text_txt._height + 2 : 20;
               sc.lineStyle(1, 0x912211, 100);
               sc.lineTo(198, 0);     sc.lineTo(198, hgt);     sc.lineTo(0, hgt);     sc.lineTo(0, 0);
               sc._x = 1;     sc._y = startY;
               startY += sc._height + 4;
               var lc = sc.createEmptyMovieClip("click_btn", 2);
               lc._x = lc._y = 1;
               lc.lineStyle(0, 0, 0);
               lc.beginFill(0xEDD593, 100);
               lc.lineTo(197, 0);     lc.lineTo(197, hgt - 1);     lc.lineTo(0, hgt - 1);     lc.lineTo(0, 0);
               lc.endFill();     lc._alpha = 0;
               lc.link = subLink[j];
                     lc.onRollOver = function()     {     this._alpha = 100;               };
               lc.onRollOut = lc.onDragOut = function()     {     this._alpha = 0;               };
               lc.onPress = lc.onDragOver = function()     {     this._alpha = 100;               };
               lc.onRelease = function()          {     this.getURL(this.link);          };
                    
          }
     }
     delete data_var;
}
data_var.load("cats.cfm");
0
Comment
Question by:madasczik
1 Comment
 
LVL 27

Accepted Solution

by:
negatyve earned 500 total points
ID: 9754479
?

data_var = new LoadVars();
data_var.path = this;
data_var.onLoad = function(ok)
{
    if(ok){
         this.path.menuGeneration(this);
    } else {
         trace("CFM PAGE MISSING");    
     }
};

function menuGeneration()
{
    var startY = 1, depth = 0;
    var temp = data_var.cats.split("|");
     
      //new TextFormat([font, [size, [color, [bold, [italic, [underline, [url, [target, [align, [leftMargin, [rightMargin, [indent, [leading]]]]]]]]]]]]])
    var style1_fmt = new TextFormat("textFont", "14", "0x000000", "bold", "false", "false", "", "", "center");
    var style2_fmt = new TextFormat("Verdana", "12", "0x000000", "true", "false", "false", "", "", "left", "3", "5", "");
    for(var i = 0; i < temp.length; i++){
            if(depth > 0){
                  startY += 50;
                  trace("ADDED 50 SPACER")
            }
         var mc = this.createEmptyMovieClip("main" + depth, depth);
         depth++;
         mc.lineStyle(1, 0x912211, 100);
         mc.beginFill(0xEDD593, 100);
         mc.lineTo(198, 0);     mc.lineTo(198, 20);     mc.lineTo(0, 20);     mc.lineTo(0, 0);
         mc.endFill();
         mc.createTextField("text_txt", "1", "0", "0", "198", "20"); //name, depth, x, y, width, height
         mc.text_txt.selectable = false;
         mc.text_txt.embedFonts = true;
         mc.text_txt.text = temp[i];
         mc.text_txt.setTextFormat(style1_fmt);
         mc._x = 1;     mc._y = startY;
         startY += mc._height + 4;
         var subText = data_var["subcats" + i].split("|");
         var subLink = data_var["urls" + i].split("|");
         for(var j = 0; j < subText.length; j++){
              var sc = this.createEmptyMovieClip("sub" + depth, depth);
              depth++;
              sc.createTextField("text_txt", "3", "0", "1", "198", "20");  //name, depth, x, y, width, height
              sc.text_txt.multiline = true;
              sc.text_txt.wordWrap = true;
              sc.text_txt.autoSize = "left";
              sc.text_txt.selectable = false;
              sc.text_txt.embedFonts = false;
              sc.text_txt.text = subText[j];
              sc.text_txt.setTextFormat(style2_fmt);
              var hgt = sc.text_txt._height + 2 > 20 ? sc.text_txt._height + 2 : 20;
              sc.lineStyle(1, 0x912211, 100);
              sc.lineTo(198, 0);     sc.lineTo(198, hgt);     sc.lineTo(0, hgt);     sc.lineTo(0, 0);
              sc._x = 1;     sc._y = startY;
              startY += sc._height + 4;
              var lc = sc.createEmptyMovieClip("click_btn", 2);
              lc._x = lc._y = 1;
              lc.lineStyle(0, 0, 0);
              lc.beginFill(0xEDD593, 100);
              lc.lineTo(197, 0);     lc.lineTo(197, hgt - 1);     lc.lineTo(0, hgt - 1);     lc.lineTo(0, 0);
              lc.endFill();     lc._alpha = 0;
              lc.link = subLink[j];
              lc.onRollOver = function()     {     this._alpha = 100;               };
              lc.onRollOut = lc.onDragOut = function()     {     this._alpha = 0;               };
              lc.onPress = lc.onDragOver = function()     {     this._alpha = 100;               };
              lc.onRelease = function()          {     this.getURL(this.link);          };
                 
         }
    }
    delete data_var;
}
data_var.load("cats.cfm");
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
To view Flash technology content error 4 6,472
FLV versus SWF 11 270
Microsoft WSUS 4 90
How to emebed .XML into  flash to make a self contained .SWF 1 174
I know the transition can be hard. We got used to the ease of use ActionScript 2 had, but honestly, it became problematic later on, especially if designers were involved in the project and found it easy to add code as they saw fit. So, this artic…
I come across a lot of question about how to access things in the document class from a movieclip, or accessing something from a movieclip in the document class. It took me a while to figure this out but once I did it makes life so much easier. …
The goal of the tutorial is to teach the user how to select which audio input to use. Once you have an audio input plugged into the laptop or computer, you will go into the audio input settings and choose which audio input you want to use.
The goal of the tutorial is to teach the user what frame rate is, how to control it and what effect it has on the video.

914 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now