如何将Jquery动画函数用于在类中设置样式的链接?

如何将Jquery动画函数用于在类中设置样式的链接?,jquery,hyperlink,hover,jquery-animate,visited,Jquery,Hyperlink,Hover,Jquery Animate,Visited,我正在寻找正确的语法,使这项工作。 事情是如此简单,为链接选择不同的颜色链接,悬停,访问和活动取决于网页的颜色主题 让我们看看: CSS JQUERY我也在使用JqueryColor,因为我在使用颜色转换,但这只是为了澄清这个问题不是问题: 语法如何正确 function ChangeLinkColors() { $("a.DarkTheme:link").animate({"color":"#00FF0F"}, 2000); $("a.DarkTheme:visited").a

我正在寻找正确的语法,使这项工作。 事情是如此简单,为链接选择不同的颜色链接,悬停,访问和活动取决于网页的颜色主题

让我们看看:

CSS JQUERY我也在使用JqueryColor,因为我在使用颜色转换,但这只是为了澄清这个问题不是问题:

语法如何正确

function ChangeLinkColors()
{
    $("a.DarkTheme:link").animate({"color":"#00FF0F"}, 2000);
    $("a.DarkTheme:visited").animate({"color":"#0F00FF"}, 2000);
    $("a.DarkTheme:hover").animate({"color":"#F0FF0F"}, 2000);
    $("a.DarkTheme:active").animate({"color":"#00FFFF"}, 2000);
}
这行不通

function ChangeLinkColors()
{
    $(".DarkTheme a:link").animate({"color":"#00FF0F"}, 2000);
    $(".DarkTheme a:visited").animate({"color":"#0F00FF"}, 2000);
    $(".DarkTheme a:hover").animate({"color":"#F0FF0F"}, 2000);
    $(".DarkTheme a:active").animate({"color":"#00FFFF"}, 2000);
}
这不行

这两个从上面看是一样的,但是在颜色词上没有引号,这两个词都不起作用

function ChangeLinkColors()
{
    $("a:link", $(".DarkTheme")).animate({"color":"#0000FF"}, 2000);
    $("a:visited", $(".DarkTheme")).animate({"color":"#0F00FF"}, 2000);
    $("a:hover", $(".DarkTheme")).animate({"color":"#F0FF0F"}, 2000);
    $("a:active", $(".DarkTheme")).animate({"color":"#00FFFF"}, 2000);
}
这是另一种我不想用的方法。。。带或不带引号con color参数

Jquery动画的文档:

有些这样做的方法似乎可行,但不可行,只改变颜色完全没有区别,链接、访问、悬停或活动

有人知道正确的方法是什么吗


我没有主意了。

这个任务不需要JQuery。你可以用

试试这个:

a {
    color: #fff;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

a:hover {
    color: #ff000;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

.dark a {
    color: #ff0000;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

.dark a:hover {
    color: #000;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

为了根据配色方案更改处于不同访问状态的链接的颜色,请首先确保CSS文件中已准备好配色方案,并且每个方案都依赖于单独的类

有了这些,您的主题选择器只需要更改容器元素类可能是body

CSS中的主题可能是这样的:

/*THEME 1*/
.theme_1 a{
    text-decoration: none;
    background-color: orange;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}
.theme_1 a:active{
    border: 1px dashed blue;
}
.theme_1 a:visited{
    color: green;
}
.theme_1 a:hover{
    background-color: red;
}
仅使用jQuery更改容器。

编辑:为什么CSS在jQuery动画上设置动画


答:我通常不太喜欢一种解决方案。但在这种情况下,CSS动画是一种方式,因为:hover和:active的易变特性,特别是在讨论动态颜色主题转换时。此外,您不能在JavaScript中选择已访问的链接,Marian,但要了解我之前所说的,颜色变化不能正确地从一个到另一个,例如:

链接:红色 悬停:青色 参观:蓝色

如果访问的链接是蓝色的,当您将鼠标悬停时,它不会从蓝色变为青色,它会突然变为红色,然后,平滑地变为青色,反之,当鼠标从青色变为红色时,它会平滑地变为蓝色,然后又突然变为蓝色。这是不对的

只要用你自己的例子来尝试一下,得到一个主题,使用我指定的颜色很容易看到从蓝色到红色的残酷变化,代替平滑的蓝色到青色,并在1秒内保持过渡,以便看到它没有问题


无论如何,感谢您的光临,帮助我,我非常感谢。

这可以用纯CSS完成。请查看Css3 animateplzz,提及您的HTML部分或为此制作提琴,因为这是此$'selector'的正确语法;亚什帕特尔。没有html内容,所有内容都是通过Javascript动态创建的。但关键是:$'selectormouse state'?'class';MarianCJC,让我看看你的例子,看起来很有趣。好的,我知道它是如何工作的。现在起作用了,但实际上,这是不正确的。当您从一个主题转到另一个主题,并将鼠标悬停在已访问的链接上时,未访问的链接颜色也会出现。这不是我真正想要的行为。。事实上,在两个选项之间使用近似颜色可以掩盖效果,但它仍然是错误的。JQuery是一个不错的选择,但我仍然不知道正确的语法!!这样,一旦鼠标离开,我就无法保持颜色了@如果我今天晚些时候有时间,我将更新我的示例,以包括适当的鼠标交互动画
/*THEME 1*/
.theme_1 a{
    text-decoration: none;
    background-color: orange;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}
.theme_1 a:active{
    border: 1px dashed blue;
}
.theme_1 a:visited{
    color: green;
}
.theme_1 a:hover{
    background-color: red;
}