jessy2010 Posted June 15, 2009 Share Posted June 15, 2009 Hi, http://www.willissinclair.com/090525.phpI need some help with my menu. When you click on 'About' the menu expands and there are six options under it. When you click on one of the options, then menu shrinks back up again. How can I fix it so that the menu stays open when you are on a page that is a 'subcategory'? I don't write my own js, I got it off of a webpage awhile back (I might have gotten it off cssplay - I don't remember). Any help would be greatly appreciated. My menu java script: window.onload=show;function show(id) {var d = document.getElementById(id); for (var i = 1; i<=10; i++) { if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';} }if (d) {d.style.display='block';} } HTML involving menu: <dl id="menulist"> <dt onclick="java script:show('smenu2');"><a href="#">About</a></dt> <dd id="smenu2"> <ul> <li><a href="http://www.willissinclair.com/awards.php">Awards</a></li> <li><a href="http://www.willissinclair.com/employment.php">Employment</a></li> <li><a href="http://www.willissinclair.com/faq.php">FAQ</a></li> <li><a href="http://www.willissinclair.com/news.php">News</a></li> <li><a href="http://www.willissinclair.com/services.php">Services</a></li> <li><a href="http://www.willissinclair.com/whitepapers.php">White Papers</a></li> </ul> </dd> <dt onclick="java script:show();"><a href="http://www.willissinclair.com/projects.php">Projects</a></dt> <dt onclick="java script:show();"><a href="http://www.willissinclair.com/portfolio.php">Portfolio</a></dt> <dt onclick="java script:show();"><a href="http://www.willissinclair.com/contact.php">Contact</a></dt></dl> Thanks in advance!Jessy. Link to comment Share on other sites More sharing options...
justsomeguy Posted June 15, 2009 Share Posted June 15, 2009 You would need to add a line to each page telling it which item to expand. Instead of this:window.onload=show;You want to pass it which item to show. window.onload=function() { show('smenu2');} Link to comment Share on other sites More sharing options...
jessy2010 Posted June 15, 2009 Author Share Posted June 15, 2009 Thank you! Once again, you've helped solve my problems :)I tried using CSS styles to hide my menu while the page was loading. I wasn't successful so I googled how to, but I haven't gotten anything to work. I am able to hide the subcategories fine, they just won't expand again. Any suggestions? Thanks, Jessy Link to comment Share on other sites More sharing options...
justsomeguy Posted June 15, 2009 Share Posted June 15, 2009 Set the display property of any element you want hidden to "none". Link to comment Share on other sites More sharing options...
jessy2010 Posted June 15, 2009 Author Share Posted June 15, 2009 Set the display property of any element you want hidden to "none".Okay, help me out. I don't think I understand.window.onload=show;function show(id) {var d = document.getElementById(id);for (var i = 1; i<=10; i++) {if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}}if (d) {d.style.display='block';} } I tried changing the last <d.style.display='block'> to 'none'. This did hide the subcategories during onload, but it also made them remain hidden. I couldn't click on 'About' and get them to expand again. What do I need to change?Thanks very much! Link to comment Share on other sites More sharing options...
justsomeguy Posted June 15, 2009 Share Posted June 15, 2009 You need to make the change in your CSS stylesheet, or the HTML. The Javascript runs after load, if you want the menu to be hidden while the page is loading then you need to add inline CSS directly to the HTML. Link to comment Share on other sites More sharing options...
jessy2010 Posted June 23, 2009 Author Share Posted June 23, 2009 Thanks! I got it to work! Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.