0

我有这个链接(),它附有如下所示的某些 css。当我按下链接时,我将链接移动到页面上的不同位置。链接移动后,我还需要更改 a:active 括号中的 css。基本上,我希望顶部为 0px。animate 函数发生但 jquery 的第二行没有效果。我该如何做到这一点?

html

<div class = "buttons">
<a class = "About" href="#"><span>About Me</span><img src="#" alt="About Me"></a>
</div>

CSS

.buttons a:active{
top:1px; 
}

jQuery

$("a.About").click(function(){
        $("a.About").animate({right:'380px', bottom:'110px'},"slow");
                $(".About:active").css("top", "-=1"); });
4

2 回答 2

1

jQuery 不支持:active选择器。您将无法:active从 jQuery 修改 CSS 伪选择器。对你来说最好的选择是在你的 CSS 中添加一个类来做这件事。然后使用 jQuery 来获得.addClass()那个特定的类名。

编辑

如果您想更改超链接从 A 部分移动到 B 部分时的行为方式,您可以执行以下操作:

CSS

a.sectionA:active { background-color:yellow; }
a.sectionB:active { background-color:green; }

HTML

<div class="buttons">
    <a class="sectionA About" href="#"><span>About Me</span><img src="#" alt="About Me"></a>
</div>

然后,每当您想将锚标记从一个部分移动到下一个部分时,您可以执行以下操作:

$("a").removeClass("sectionA").addClass("sectionB");
于 2012-12-22T06:33:23.310 回答
0

可能这适合您的要求:

$("a.About").click(function(){
    $("a.About").animate({right:'380px', bottom:'110px'},"slow");
         $(this).css("top", "0px"); 
});
于 2012-12-22T06:20:28.853 回答