Hallo Gemeinde
ich hab mal wieder ein Problem!
Mein Menu sieht in etwa folgendermaßen aus:
mein js dazu
es sollen also nur die contentbereiche erneuert werden.
Das ist auch das Problem: Würde gerne den aktiven Link auszeichnen durch einen anderes Aussehen.
das würde ich im Normalfall via
erledigen.
Der request geht aber an inc/content.php
Weiss da zufällig jemand einen Rat
MfG
derTrallala
ich hab mal wieder ein Problem!
Mein Menu sieht in etwa folgendermaßen aus:
Code:
<ul id="menu"> ..... <li class="menuItem"> <a href="index.php?action=news" title="News">News</a></li> .... </ul>
Code:
addLoadEvent(collapseMenu); addLoadEvent(prepareMenu); function collapseMenu(node) { if (!document.getElementById) return false; if (!document.getElementById("menu")) return false; if (!node) node = document.getElementById("menu"); if (node.childNodes.length > 0) { for (var i = 0; i < node.childNodes.length; i++) { var child = node.childNodes[i]; if (child.nodeName == "UL") { child.style.display = "none"; } collapseMenu(child); } } } function prepareMenu() { if (!document.getElementById || !document.getElementsByTagName) return false; if (!document.getElementById("menu")) return false; var links = document.getElementById("menu").getElementsByTagName("a"); for (var i = 0; i < links.length; i++) { links[i].onclick = function() { toggleMenu(this.parentNode.getElementsByTagName("UL")[0], this.href); return false; } } } function toggleMenu(node, link) { if (!document.getElementById) return false; if (!link) return false; if (!node) { var file = getQueryString(link); var param = getParams(link); getContent(param); return false; } // Collapse all nodes, and only show clicked node (when clicking top level of menu) if (node.parentNode.parentNode.id == "menu") { hideTopLevels(); } if (node.style.display == "") { Effect.BlindUp(node, { duration: 0.2 }); } else { Effect.BlindDown(node, { duration: 0.2 }); } } function hideTopLevels() { if (!document.getElementById) return false; if (!(node = document.getElementById("menu"))) return false; if (node.childNodes.length > 0) { for (var i = 0; i < node.childNodes.length; i++) { var child = node.childNodes[i]; for (var j = 0; j < child.childNodes.length; j++) { var grandchild = child.childNodes[j]; if (grandchild.nodeName == "UL") { if (grandchild.style.display == '') { Effect.BlindUp(grandchild, { duration: 0.2 }); } } } } } } function getContent(param) { //var inc = req; var myAjax = new Ajax.Request('inc/content.php', { method: 'get', parameters: param, onLoaded: showLoader, onComplete: showXHTML }); } function showXHTML(originalRequest) { $('col3_content').innerHTML = originalRequest.responseText; }
Das ist auch das Problem: Würde gerne den aktiven Link auszeichnen durch einen anderes Aussehen.
das würde ich im Normalfall via
PHP-Code:
if($_GET['action']=="news") echo "class=\"active\"";
Der request geht aber an inc/content.php
Weiss da zufällig jemand einen Rat
MfG
derTrallala
Kommentar