活动页面的动态下划线

时间:2011-08-08 18:58:03

标签: javascript jquery css dynamic underline

刚才问了一个类似的问题并试图建立我的答案,但我仍然遇到麻烦。

我有一个链接到页面内不同位置的导航菜单。我希望活动窗格的链接加下划线。请参阅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 个答案:

答案 0 :(得分:2)

试试这个http://jsfiddle.net/aBuZu/1/

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

答案 1 :(得分:2)

更容易:

$('#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 :(得分:0)

$(this).css('color', 'underline');

有点胡说八道。也许颜色应该是文字装饰:Example

答案 3 :(得分:0)

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

答案 4 :(得分:0)

首先,您需要在jsFiddle中选择框架jQuery

更新了JS

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