jquery中动画的随机颜色

时间:2013-08-29 10:20:01

标签: javascript jquery

我尝试使用jquery和ui animate添加文本效果。是否有一种方法可以随机显示所有可能的颜色而无需定义所有颜色。例如,颜色组合基于RGB。 使用带有颜色的动画

setInterval(function() {
jQuery(".font-style").animate({color: "red"}, 2000).
          animate({color: "green"}, 2000).animate({color: "blue"}, 2000);}, 400);

是否有可能在jquery中随机显示RGB的颜色组合。任何建议都会很棒。

感谢。

6 个答案:

答案 0 :(得分:8)

您可以生成如下随机颜色:

var newColor = '#'+(0x1000000+(Math.random())*0xffffff).toString(16).substr(1,6);
jQuery(".font-style").animate({color: newColor}, 2000); // animate

这将创建一个随机的十六进制颜色,例如#ff00cc。

注意:常规jQuery不会为颜色设置动画,您必须使用jQuery color pluginjQuery UI

答案 1 :(得分:3)

你可以这样做:

var col = 'rgb(' + (Math.floor(Math.random() * 256)) + ',' + (Math.floor(Math.random() * 256)) + ',' + (Math.floor(Math.random() * 256)) + ')';

而不是将col放入你的动画片中:

jQuery(".font-style").animate({color: col}, 2000)

答案 2 :(得分:2)

var hue = 'rgb('
            + (Math.floor(Math.random() * 256)) + ','
            + (Math.floor(Math.random() * 256)) + ','
            + (Math.floor(Math.random() * 256)) + ')';

然后在您的颜色中添加此hue

jQuery(".font-style").animate({color: hue}, 2000).
          animate({color: hue}, 2000).animate({color: hue}, 2000);}, 400);
标签

RANDOM 颜色为

JSFIDDLE DEMO

答案 3 :(得分:1)

您可以使用Math.random

setInterval(function() {

var red= Math.floor((Math.random()*255)+1);
var blue = Math.floor((Math.random()*255)+1);
var green = Math.floor((Math.random()*255)+1);
jQuery(".font-style").animate({color: "red"}, red).
          animate({color: "green"}, green).animate({color: "blue"}, blue);}, 400);

如果你不断地运行它虽然很快就会变得反应迟钝

答案 4 :(得分:1)

function get_random_color() {
    var letters = '0123456789ABCDEF'.split('');
    var color = '#';
    for (var i = 0; i < 6; i++ ) {
        color += letters[Math.round(Math.random() * 15)];
    }
    return color;
}

最短的代码

DEMO

"#"+((1<<24)*Math.random()|0).toString(16);

答案 5 :(得分:0)

您可以使用javascripts随机方法,设置边界并使其生成hex或rgb代码。将它们分配给变量并使用它们代替“红色”,“绿色”,“蓝色”等。