Click to See Complete Forum and Search --> : Persistant Javascript Menu


unurban
June 9th, 2005, 01:28 PM
I have a javascript menu based off of unordered lists that only shows the subnav links when you click on the main nav links.

is there a way to keep any subnav items open after you click on a link and are transferred to a new page?


Here is some of the code:

<ul id="menuList">
<li class="menubar"><a href="#" id="abdominoplastyActuator" class="actuator">&nbsp;&nbsp;&nbsp;Abdominoplasty<br>
&nbsp;&nbsp;&nbsp;(Tummy Tuck)</a>
<ul id="abdominoplastyMenu" class="menu">
<li><a href="topics/abdominoplasty_procedure.html" class="actuator2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Procedure</a></li>
<li><a href="topics/abdominoplasty_recovery.html" class="actuator2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Recovery</a></li>
</ul>
</li>
</ul>

<script language="javascript" type="text/javascript">
if (!document.getElementById)
document.getElementById = function() { return null; }

function initializeMenu(menuId, actuatorId) {
var menu = document.getElementById(menuId);
var actuator = document.getElementById(actuatorId);

if (menu == null || actuator == null) return;

//if (window.opera) return; // I'm too tired

actuator.onclick = function() {
var display = menu.style.display;
menu.style.display = (display == "block") ? "none" : "block";
return false;
}
}
window.onload = function() {
initializeMenu("surgicalMenu", "surgicalActuator");
initializeMenu("abdominoplastyMenu", "abdominoplastyActuator");
initializeMenu("blepharoplastyMenu", "blepharoplastyActuator");
initializeMenu("invasiveMenu", "invasiveActuator");
initializeMenu("botoxMenu", "botoxActuator");
initializeMenu("breastaugmentMenu", "breastaugmentActuator");
initializeMenu("breastliftMenu", "breastliftActuator");
initializeMenu("breastreductionMenu", "breastreductionActuator");
initializeMenu("browliftMenu", "browliftActuator");
initializeMenu("buttockliftMenu", "buttockliftActuator");
initializeMenu("chinsurgeryMenu", "chinsurgeryActuator");
initializeMenu("faceliftMenu", "faceliftActuator");
initializeMenu("facialimplantsMenu", "facialimplantsActuator");
initializeMenu("hairlossMenu", "hairlossActuator");
initializeMenu("liposuctionMenu", "liposuctionActuator");
initializeMenu("lowerbodyliftMenu", "lowerbodyliftActuator");
initializeMenu("upperarmliftMenu", "upperarmliftActuator");
initializeMenu("rhinoplastyMenu", "rhinoplastyActuator");
initializeMenu("otoplastyMenu", "otoplastyActuator");
initializeMenu("thighliftMenu", "thighliftActuator");
initializeMenu("celluliteMenu", "celluliteActuator");
initializeMenu("camouflagecosmeticsMenu", "camouflagecosmeticsActuator");
initializeMenu("chemicalpeelMenu", "chemicalpeelActuator");
initializeMenu("laserhairremovalMenu", "laserhairremovalActuator");
initializeMenu("laserskinsurgeryMenu", "laserskinsurgeryActuator");
initializeMenu("lasersurgeryMenu", "lasersurgeryActuator");
initializeMenu("microdermabrasionMenu", "microdermabrasionActuator");
initializeMenu("schlerotherapyMenu", "schlerotherapyActuator");
initializeMenu("skinmanagementMenu", "skinmanagementActuator");
initializeMenu("softtissuefillersMenu", "softtissuefillersActuator");
initializeMenu("varicoseveinsMenu", "varicoseveinsActuator");

}

</script>

PeejAvery
June 9th, 2005, 06:31 PM
Browsers decode information given to them. There are a few ways of passing on information from page to page. A browser itself will not do this. You can store it as a global variable on a webserver using PHP or you can set it in a cookie with PHP. With JavaScript, you may also use a cookie.