|
Hej folkens. Sidder med et lille problem med noget javascript blandet ind i noget html: <div id="titlebar_" onclick="dropdownaction();">Menu - Click here - <p style="text-align:right; display:inline;" id="titlestatus">Closed</p></div> <div id="contentbar_"> <div><a href="#" onclick="toggle('submenu1')">Category 1</a></div> <div id="submenu1" style="display:none"> <div> <a href="#">Submenu 1</a></div> <div> <a href="#">Submenu 2</a></div> </div> <div><a href="#" onmouseover="toggle('submenu2')" onmouseout="toggle('submenu2')">Category 1</a></div> </div> Ekstern javascript: function dropdownaction(){ var titlebar = document.getElementById('titlebar_'); var contentbar = document.getElementById('contentbar_'); var status = document.getElementById('titlestatus'); if(contentbar.style.visibility == "hidden"){ status.innerHTML = "Open"; contentbar.style.visibility = "visible"; } else { status.innerHTML = "Closed"; contentbar.style.visibility = "hidden"; } } function toggle(submenu) { if (document.getElementById(submenu).style.display == "none") document.getElementById(submenu).style.display = "block"; else if (document.getElementById(submenu).style.display == "block") document.getElementById(submenu).style.display = "none" else alert("An error occured in the menu. Contact the web master."); } var toggleMenu = { init : function(sContainerClass, sHiddenClass) { if (!document.getElementById || !document.createTextNode) {return;} // Check for DOM support var arrMenus = this.getElementsByClassName(document, 'ul', sContainerClass); // Find all menus var arrSubMenus, oSubMenu, oLink; for (var i = 0; i < arrMenus.length; i++) { // In each menu... arrSubMenus = arrMenus[i].getElementsByTagName('ul'); // ...find all sub menus for (var j = 0; j < arrSubMenus.length; j++) { // For each sub menu... oSubMenu = arrSubMenus[j]; oLink = oSubMenu.parentNode.getElementsByTagName('a')[0]; // ...find the link that toggles it... oLink.onclick = function(){toggleMenu.toggle(this.parentNode.getElementsByTagName('ul')[0], sHiddenClass); return false;} // ... add an event handler to the link... this.toggle(oSubMenu, sHiddenClass); // ... and hide the sub menu } } }, toggle : function(el, sHiddenClass) { var oRegExp = new RegExp("(^|\\s)" + sHiddenClass + "(\\s|$)"); el.className = (oRegExp.test(el.className)) ? el.className.replace(oRegExp, '') : el.className + ' ' + sHiddenClass; // Add or remove the class name that hides the element }, /* addEvent and getElementsByClassName functions omitted for brevity */ }; // Initialise the menu toggleMenu.addEvent(window, 'load', function(){toggleMenu.init('menu','hidden');}); Mit problem ligger i at, det ikke virker 100% hvis jeg smider html/javascript ind i en echo ''; men virker uden problemer hvis det ikke er sat i en echo. Nogen der evt kan hjælpe mig med at finde problemet? Der ligger også css til det så skriv hvis i også vil se det. Takker på forhold Har fundet ud af det... // Aqoure
|