1
div
{
width:100px;
height:100px;
background:red;
animation:myfirst 3s;
-moz-animation:myfirst 3s; /* Firefox */
-webkit-animation:myfirst 3s; /* Safari and Chrome */
-webkit-animation-iteration-count: infinite;
-moz-animation-iteration-count: infinite;
}


@-webkit-keyframes myfirst /* Safari and Chrome */
{
0% {background:red;}
50% {background:#800000;}
100% {background:red;}
}

请参阅我的 jsFiddle(不适用于IE 或 OPERA)。或者查看上面的 CSS。

它是一个简单的彩色动画,从红色变为深红色,然后再变为红色。我需要做到这一点,当单击按钮时,它将来自:

蓝色到#000066,然后回到蓝色。

我知道一种方法是创建一个新的样式表并切换样式表,但是,

(1) 我不太确定该怎么做

(2) 在所有这一切的宏伟计划中,我需要用不同的颜色重复大约 15 次,我讨厌有 15 种不同的颜色样式表。是否有 JQuery 或直接的 javascript 方式来执行此操作?

4

1 回答 1

4

无需创建新样式表。只需为每种颜色创建一个不同的类,然后使用 jQuery 来.addClass().removeClass()

function blueMe(){
  $('div').removeClass().addClass('blue');
}​

http://jsfiddle.net/mblase75/KHnBz/6/

As you'll see in the CSS for that fiddle, you'll need to create new keyframes for each class.

于 2012-11-29T20:49:52.853 回答