2012-04-04 2 views
0

Ich versuche, eine jQuery wenn Aussage zu machen, das sagt: Wenn ein Benutzer auf der angegebenen Seite ist, dann bestimmten Stil anzuwenden; In diesem Fall wird die ID eines Anker-Tags mit einem unteren Rand versehen.

// index.php - referenced html 
... 
<link href='http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js' type='text/javascript' /> 
<style type="text/javascript"> 
@import url('js/active-links.js'); 
</style> 
... 
<ul> 
    <li><a id="home" href="#">HOME</a></li> 
    <li><a id="other1" href="#">OTHER1</a></li> 
    <li><a id="other2" href="#">OTHER2</a></li> 
</ul> 
... 


// active-link.js 
$(document).ready(function() { 
    if (document.URL.indexOf('index.php') >= 0) { 
     $('#home').css('border-bottom: 18px solid #9cd588'); 
              } 
         }); 

Idealerweise habe ich dies für jeden Link mit einem anderen gelten, wenn die gleiche Sache. Momentan tut es nichts.

+0

Sind Sie sicher, dass Ihr Zustand richtig bewertet? –

+0

Nicht ganz, irgendwelche Ideen? Es arbeitet mit einem anderen Skript, das ich hatte: $ (document) .ready (function() { \t \t if (document.URL.indexOf ("contact.php")> = 0) { \t \t \t $ ('# Kontakt ') attr. (' src ' 'img/m_contact.png'); \t \t \t $ ('# Portfolio'.) Mouseover (function() { \t \t \t \t \t \t ... – beta208

+0

Sie' re es nicht richtig zu tun, jetzt habe ich herausgefunden, was Sie zu tun versuchen. –

Antwort

0

Sie nähern sich dem Problem falsch.

Bestimmen Sie auf der Serverseite den aktiven Link aus dem Menü, und fügen Sie dem aktiven Menüelement einen Klassennamen active hinzu.

$active = "Home"; 
... 
echo "<li"; 
if ($active == "Home") { echo " class=\"active\" "; } 
echo ">Home</li>"; 

Dann in Ihrem CSS, ohne irgendwelche Bedingungen:

.active { border-bottom: 18px solid #9cd588; } 
+0

Das ist brilliant! Vielen Dank. – beta208

1

Einfache Lösung:

$('#home').css('border-bottom', '18px solid #9cd588'); 
+2

Falsch, der zweite wird fehlschlagen. 'borderBottom'. –

+0

Ich habe beides versucht, nichts ist passiert. – beta208

+0

Der obere funktioniert. http://jsfiddle.net/GScxM/1/ Sind Sie sicher, dass Ihr Zustand richtig bewertet? –