Sie können nicht nur CSS verwenden, um zu bestimmen, welche Seite Ihre Benutzer derzeit ist - es ist nur werde es nicht tun. Sie müssen Ihr Markup anpassen, um einen Hook, den Ihr CSS verwenden kann, hinzuzufügen. Wie so -
<ul id="nav">
<li><a href="about.html" class="here">About Us</a></li>
<li><a href="contact.html">Contact</a></li>
</ul>
Wenn Sie eine statische HTML-Seite Gebäude sind, können Sie manuell den HTML-Code auf jeder Seite ändern, um die aktuelle Seite im Menü zu reflektieren.
Wenn Sie etwas Komplexeres erstellen, müssen Sie wahrscheinlich auf PHP oder JavaScript zurückgreifen, um die aktuelle Seite zu finden. Dieses Skript ist ein wenig alt (es ist von Jeremy Keith „DOM Scripting“), aber es wird die Arbeit machen:
function highlightPage(id){
//make sure DOM methods are understood
if(!document.getElementsByTagName) return false;
if(!document.getElementById) return false;
if(!document.getElementById(id)) return false;
var nav = document.getElementById(id);
var links = nav.getElementsByTagName('a');
for (var i=0; i < links.length; i++){
var linkurl = links[i].getAttribute('href');
var currenturl = window.location.href;
//indexOf will return -1 on non-matches, so we're checking for a positive match
if (currenturl.indexOf(linkurl) != -1) {
links[i].className = "here";
var linktext = links[i].lastChild.nodeValue.toLowerCase();
document.body.setAttribute("id",linktext);
}
}
}
addLoadEvent(function(){
highlightPage('nav');
});
function addLoadEvent(func){
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function(){
oldonload();
func();
}
}
}
Dieses Skript in einem externally linked javascript file gehen würde.
hallo Sie aktive Klasse verwendet wird, kann .. –