Динамическое подчеркивание активной страницы - PullRequest
1 голос
/ 08 августа 2011

Задал похожий вопрос некоторое время назад и попытался построить мой ответ, но у меня все еще проблемы.

У меня есть меню навигации, которое ссылается на разные места на странице.Я бы хотел, чтобы ссылка на активной панели была подчеркнута.Смотрите jsFiddle для демонстрации.return false является необходимой частью кода.У меня есть функция javascript, направляющая страницу в нужное место, вместо того, чтобы сразу к ней переходить.

Спасибо!

http://jsfiddle.net/danielredwood/aBuZu/3/

HTML

<div id="nav">
    <a href="#about" id="nav_about">ABOUT</a><br />
    <a href="#pictures" id="nav_pictures">PICTURES</a><br />
    <a href="#contact" id="nav_contact">CONTACT</a>
</div>

CSS

a, a:active, a:visited {
    color:#1d1d1d;
    text-decoration:none;
}
a:hover {
    text-decoration:underline;
}

JavaScript

$('#nav a').click(function(){
    $('#nav a').css('text-decoration', 'none', function(){
        $(this).css('text-decoration', 'underline');
    });
    return false;
});

Ответы [ 5 ]

2 голосов
/ 08 августа 2011

Легче:

$('#nav a').click(function(event) {
    event.preventDefault(); //same as return false
    $('#nav a').removeClass('active');        
    $(this).toggleClass('active');   
});

CSS:

a {
    color:#1d1d1d;
    text-decoration:none;
}
a:hover, a.active {
    text-decoration:underline;
}
2 голосов
/ 08 августа 2011

Попробуйте это http://jsfiddle.net/aBuZu/1/

 $('#nav a').click(function(){
    $('#nav a').css("textDecoration", "none"); 
    $(this).css('textDecoration', 'underline');
    return false;
 });
0 голосов
/ 08 августа 2011

Сначала вам нужно выбрать фреймворк jQuery в jsFiddle

Обновлен JS

$('#nav a').click(function(){
    $('#nav a').css('text-decoration', 'none');
    $(this).css('text-decoration', 'underline');
    return false;
});
0 голосов
/ 08 августа 2011
$('#nav a').click(function(e){
    $('#nav a').css('text-decoration', 'none');
    $(this).css('text-decoration', 'underline');
    e.preventDefault();
});
0 голосов
/ 08 августа 2011
$(this).css('color', 'underline');

это какая-то ерунда. Возможно, цвет должен быть украшен текстом: Пример

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...