使用Timer JQuery更改背景颜色CSS

RCN*_*eil 3 css jquery colors jquery-animate

我希望有人可以向我展示高效的JQuery,以在div类中的4种背景颜色之间制作动画.

我希望这些事件能够被时间触发,而不是点击或悬停.我已经看过悬停和切换的帖子,但作为一个不太精通JQuery的人,我觉得在这里和那里复制和粘贴部件感觉不舒服.

谢谢

Lok*_*tar 7

我不知道你是不是意味着动画就像褪色到下一个,但这是一个简单的快速示例,每2秒更改一次颜色.第一个例子不需要jQuery.

现场演示

function changeColor(curNumber){
    curNumber++;

    if(curNumber > 4){
        curNumber = 1;
    }
    document.body.setAttribute('class', 'color' + curNumber);
    setTimeout(function(){changeColor(curNumber)}, 2000);  
}

changeColor(0);
Run Code Online (Sandbox Code Playgroud)

更新动画颜色

如果您希望在类或背景颜色之间淡入淡出,则第二个示例需要Jquery UI.

演示2

function changeColor(element, curNumber){
    curNumber++;

    if(curNumber > 4){
        curNumber = 1;
    }

    element.addClass('color' + curNumber, 1000);

    // So previous classes get removed.
    element.attr('class', 'color' + curNumber);

    setTimeout(function(){changeColor(element, curNumber)}, 2000);  
}

changeColor($('#testElement'), 0);
Run Code Online (Sandbox Code Playgroud)