если навигационная ссылка соответствует page_id, измените цвет - PullRequest
0 голосов
/ 02 апреля 2011

хорошо, вот мои настройки навигации

<div id="headerMenu">
            <ul>  
                <li style="width:147px"><a href="/?page_id=92" class="menuHov"><span>ABOUT<br/>ABOUT</span></a></li>
                <li style="width:186px"><a href="/?page_id=64" class="menuHov"><span>STOCKISTS<br/>STOCKISTS</span></a></li>
                <li style="width:146px"><a href="/?page_id=96" class="menuHov"><span>PRESS<br/>PRESS</span></a></li>
                <li style="width:128px"><a href="/?category_name=blogs" class="menuHov"><span>BLOG<br/>BLOG</span></a></li>
                <li style="width:70px"><a href="/?page_id=89 " class="menuHov"><span>CONTACT<br/>CONTACT</span></a></li>
            </ul>

мне нужен скрипт jquery для распознавания переменной page_id и href, и если они одинаковые, измените цвет ... дайте мне знать, если вам нужна дополнительная информация ...

вот что я пробовал до сих пор.

 $(document).ready(function() {
    $('a.menuHov[href$=' + window.location.pathname + ']').css('color', '#fae349');
});

но это все меняет, потому что, я думаю, он не распознает href как путь

Ответы [ 3 ]

0 голосов
/ 02 апреля 2011
$(document).ready(function() {
     var link = window.location;
     var t_arr = new Array();
     t_arr = link.split('/');
     $("a.menuHov[href$='"+t_arr[1]+"']").css('color', '#fae349');     
});

Это нормально?

0 голосов
/ 02 апреля 2011
$(function(){
    var page_id = getParameterByName("page_id");
    $("a.menuHov[href$=" + page_id + "]").css('color', '#fae349');
})

Включить синтаксический анализатор строки запроса из здесь

function getParameterByName( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return decodeURIComponent(results[1].replace(/\+/g, " "));
}
0 голосов
/ 02 апреля 2011

Я думаю, что проблема с косой чертой /?в URL.Попробуйте, это должно работать:

$(document).ready(function() {     
   $('a.menuHov[href$="' + window.location.pathname + '"]').css('color', '#fae349'); 
}); 

Рабочий пример @ jsfiddle: http://jsfiddle.net/CeZCY/8/

...