jquery dinamikus navigáció
Üdv,
mostanában ismerkedem a jqueryvel és bele is botlottam valamibe amit nem értek.
adott egy menü:meg ez a script:és senki és semmi kedvéért nem hajlandó a megtalált anchornak beállítani a classt.
mi az amit nagyon elnézek? :)
■ mostanában ismerkedem a jqueryvel és bele is botlottam valamibe amit nem értek.
adott egy menü:
<div id="menu">
<a href="index2.html" class="transparent">HOME</a>
<a href="kepzesek.html" class="transparent">KÉPZÉSEK</a>
<a href="munkalehetoseg.html" class="transparent">MUNKALEHETÖSÉG</a>
<a href="araink.html" class="transparent">ÁRAINK</a>
<a href="galeria.html" class="transparent">GALÉRIA</a>
<a href="termekek.html" class="transparent">TERMÉKEK</a>
<a href="about.html" class="transparent">ABOUT</a>
<a href="contact.html" class="transparent">KAPCSOLAT</a>
</div>
<script type="text/javascript">
$(document).ready(function(){
$("a[href="+$(location).attr('href').substring(31)+"]").toggleClass("current", true);
});
</script>
mi az amit nagyon elnézek? :)
Micsoda?
location
? Az biztosan egy DOM elem? Annak vanhref
attribútuma? És biztosan annak a 31. karaktertől kezdődő részével egyenlő a linkekhref
attribútuma?sejtésem szerint
de a location egy objektum (bár teljes url stringgé alakul ha stringművelteket végzünk rajta), és nem string: elérhetők benne az url részei (console.dir-rel irasd ki firebugban), nem kell substring-gel szenvedni.
http://www.w3schools.com/jsre
a
visszaadja az url nekem fontos részét, az előtte lévő 31 karakter a http://localhost:8080/blablabla...
de ha ezt kiszedem és annyit hagyok csak, hogy
href = abszolút url
(legalábbis egy random anchort inspectelve, a dom-ban ez látszik)
Nem
index.html
-re végződőhref
attribútummal rendelkező linkeket adja vissza, majd hozzáadja acurrent
osztályt. Egyébként érdemes lenne kiíratnod a linkekhref
attribútumát, érdekes meglepetések érhetnek, főleg IE esetén. Ezért érdemesebb csak a linkekhref
attribútumának végét nézni, elkerülendő a meglepetést.