JQuery以设置的间隔显示每个元素

时间:2013-03-14 21:25:24

标签: jquery

我正在寻找一个JQuery代码,它将首先显示我的数组中的每个元素。然后我想以设定的间隔显示不同颜色的每个数字。 因此,例如首先以黑色文本显示1 2 3 4 5 6 7 8然后显示红色1和显示2红色后的第二个,然后使1为黑色,然后3为红色,2为背黑色等等。 / p>

var obj1 = ["1", "2", "3", "4", "5", "6", "7", "8"];
var obj2 = { arrNum1: obj1 };

任何帮助都是适当的。

2 个答案:

答案 0 :(得分:1)

到底是什么:

var arr = ["1", "2", "3", "4", "5", "6", "7", "8"];

$.each(arr, function(i,e) {
    setTimeout(function() {
        var elem = $('<span />', {text: e}),
            time = (i*300)+(arr.length*300);
        $('body').append(elem)
        setTimeout(function() {
            elem.css('color', 'red').prev('span').css('color', 'black');
        },time );
    }, i*300);
});

FIDDLE

答案 1 :(得分:0)

嗯......我想我会这样做:

var objs = [
    obj1, obj2, obj3 obj4 ...
];

我不确定obj是什么,但我猜它是一个jQuery对象。

var index = 0;
var prev_index = objs.length - 1;
var seconds = 1000;

var swap_color = function() {

    objs[index].css('color', 'red');
    objs[prev_index].css('color', 'black');

    prev_index = index;
    index++;
    if(index >= objs.length) index = 0;

    setTimeout(swap_color, seconds);

}

setTimeout(swap_color, seconds);

这应该无限期地继续下去。