XML Nav bar

My question deals with XML and flash, so I hope I can post this question here.
I did a drop down menu using xml and I was able to use flash but I can link my home button to my home page. This is the code.

vb<?xml version="1.0"?>
<NAV main_onColor="#000000" main_offColor="#ff6600" sub_onColor="#000000" sub_offColor="#666666" navWidth="150" fadeTime="0" lineWidth="150" main_y_padding="4" sub_y_padding="2" sub_indent="10">
   <MAIN text="HOME" URL="home.html" expand="true" >
      <SUB text="Current State" URL="currentstate.html"></SUB>
      <SUB text="Mission" URL="mission.html"></SUB>
        <SUB text="Who We Are" URL="whoweare.html"></SUB>
      <SUB text="Background" URL="background.html"></SUB>
         <SUB text="Leadership" URL="leadership.html"></SUB>
      <SUB text="World Policy Philosophy" URL="worldpophil.html"></SUB>
   </MAIN>
</NAV>
LVL 5
IsaacSharePoint Client Side DeveloperAsked:
Who is Participating?
 
rdcproCommented:
Here is home.html

<html>
<head>
<script language="JScript">
      function toggle()
      {
            if (target.style.display == "none")
            {
                  // display the hidden div
                  target.style.display = "";
            }
            else
            {
                  // hide the div
                  target.style.display = "none";
            }
      }
</script>
</head>
<body>
<a href="about.html" onclick="toggle()">Go back to about</a>
<br>
<a href="#" onclick="toggle()">Toggle without navigating</a>
<div id="target" style="display:none;">
      <h1>Now you see me</h1>
</div>
</body>
</html>

here is about.html:

<html>
<head>
<script language="JScript">
      function toggle()
      {
            if (target.style.display = "none")
            {
                  // display the hidden div
                  target.style.display = "";
            }
            else
            {
                  // hide the div
                  target.style.display = "none";
            }
      }
</script>
</head>
<body>
<a href="home.html" onclick="toggle()">Go Home</a>
<br>
<a href="#" onclick="toggle()">Toggle without navigating</a>
<div id="target" style="display:none;">
      <h1>Now you see me</h1>
</div>
</body>
</html>

As you can see, it's not possible to BOTH display the hidden div AND navigate away from the page that has the hidden div.  Think about it!  If you click the link to go back and forth, sometimes--just for an instant--you'll see the div appear.

What you need is a *SEPARATE* link to do the expanding and collapsing, like:

<html>
<head>
<script language="JScript">
      function toggle()
      {
            if (target.style.display == "none")
            {
                  // display the hidden div
                  target.style.display = "";
            }
            else
            {
                  // hide the div
                  target.style.display = "none";
            }
      }

      function switchText(o)
      {
            if (target.style.display == "none")
            {
                  o.innerText = "-";
            }
            else
            {
                  o.innerText = "+";
            }
            toggle();
      }
</script>
</head>
<body>
<span onclick="switchText(this)" style="color:blue;width:1em;cursor:hand;">+</span>
<a href="home.html" onclick="toggle()">Go Home</a>
<div id="target" style="display:none;">
      <h1>Now you see me</h1>
</div>
<br>
<a href="#" onclick="toggle()">Toggle without navigating</a>
</body>
</html>

But your canned actionscript doesn't have that capability...you have to decide which you want; navigate or expand.

By the way, the above code is not necessarily cross-browser.  It's just to illustrate the concept.

Regards
Mike Sharp
0
 
rdcproCommented:
I could be wrong, but I don't think it's possible to do an expand and navigate using the prepackaged actionscript for the Menu.  But if you want, you can create a separate expanding container for the subs, like:


<?xml version="1.0"?>
<NAV main_onColor="#000000" main_offColor="#ff6600" sub_onColor="#000000" sub_offColor="#666666" navWidth="150" fadeTime="0" lineWidth="150" main_y_padding="4" sub_y_padding="2" sub_indent="10">
   <MAIN text="HOME" URL="home.html" expand="true" ></MAIN>
   <MAIN text="About" expand="true">
      <SUB text="Current State" URL="currentstate.html"></SUB>
      <SUB text="Mission" URL="mission.html"></SUB>
       <SUB text="Who We Are" URL="whoweare.html"></SUB>
      <SUB text="Background" URL="background.html"></SUB>
        <SUB text="Leadership" URL="leadership.html"></SUB>
      <SUB text="World Policy Philosophy" URL="worldpophil.html"></SUB>
   </MAIN>
   <MAIN text="Some Other Category" URL="mycategory.html"></MAIN>
</NAV>

etc.

Regards,
Mike Sharp
0
 
IsaacSharePoint Client Side DeveloperAuthor Commented:
I TRIED that Mike but it didn't show my sub menu. It only showed the home. Thanks anyway.
0
Cloud Class® Course: SQL Server Core 2016

This course will introduce you to SQL Server Core 2016, as well as teach you about SSMS, data tools, installation, server configuration, using Management Studio, and writing and executing queries.

 
rdcproCommented:
Something is strange here, because it should have shown a "Home" and an "About".  You click on home, it goes home, you click on About and it epands to show the Subs for About...I did notice a small mistake in my code. This tag:
   <MAIN text="HOME" URL="home.html" expand="true" ></MAIN>
should have been like:
   <MAIN text="HOME" URL="home.html" ></MAIN>

Like so:

<?xml version="1.0"?>
<NAV main_onColor="#000000" main_offColor="#ff6600" sub_onColor="#000000" sub_offColor="#666666" navWidth="150" fadeTime="0" lineWidth="150" main_y_padding="4" sub_y_padding="2" sub_indent="10">
   <MAIN text="HOME" URL="home.html" ></MAIN>
   <MAIN text="About" expand="true">
      <SUB text="Current State" URL="currentstate.html"></SUB>
      <SUB text="Mission" URL="mission.html"></SUB>
      <SUB text="Who We Are" URL="whoweare.html"></SUB>
      <SUB text="Background" URL="background.html"></SUB>
      <SUB text="Leadership" URL="leadership.html"></SUB>
      <SUB text="World Policy Philosophy" URL="worldpophil.html"></SUB>
   </MAIN>
   <MAIN text="Some Other Category" URL="mycategory.html"></MAIN>
</NAV>

The problem is you're wanting a click on Home to both navigate to another page, and expand the category, which are mutually exclusive actions.

Regards,
Mike Sharp
0
 
IsaacSharePoint Client Side DeveloperAuthor Commented:
I don't think this will work. I want the home to go to the home page and expand at the same time.
0
 
rdcproCommented:
Right, but that doesn't make sense, does it?  The problem is you're wanting a click on Home to both navigate to another page, and expand the category, which are mutually exclusive actions.   If you did this in straight HTML, you can have both an onclick and an href on an anchor tag.  The onclick is executed first, then the page navigates...which loses the original result of the onclick.  

You'd somehow need to maintain the state of the menu (with a query string, probably) so that when you navigate to the home page, your menu is then shown expanded.   I've seen this done with frames (because you're actually navigating a separate frame, not the one with the menu).

Regards,
Mike Sharp

0
 
IsaacSharePoint Client Side DeveloperAuthor Commented:
I will give you the points if you tell me what is the code in straight HTML?
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.