1

前段时间问了一个类似的问题,并试图建立我的答案,但仍然遇到问题。

我有一个导航菜单,可以链接到页面中的不同位置。我希望活动窗格的链接带有下划线。请参阅 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;
});
4

5 回答 5

2

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

 $('#nav a').click(function(){
    $('#nav a').css("textDecoration", "none"); 
    $(this).css('textDecoration', 'underline');
    return false;
 });
于 2011-08-08T19:04:35.907 回答
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;
}
于 2011-08-08T19:06:39.407 回答
0
$(this).css('color', 'underline');

有点胡说八道。也许颜色应该是文本装饰:示例

于 2011-08-08T19:03:31.563 回答
0
$('#nav a').click(function(e){
    $('#nav a').css('text-decoration', 'none');
    $(this).css('text-decoration', 'underline');
    e.preventDefault();
});
于 2011-08-08T19:06:08.563 回答
0

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

更新了 JS

$('#nav a').click(function(){
    $('#nav a').css('text-decoration', 'none');
    $(this).css('text-decoration', 'underline');
    return false;
});
于 2011-08-08T19:06:54.637 回答