首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何逐步改变课程

如何逐步改变课程
EN

Stack Overflow用户
提问于 2013-08-01 17:32:53
回答 2查看 625关注 0票数 3

我有个问题。如何逐步改变班级,每60秒一次。是否有可能连接到当前时间的功能?

这是一个示例,但它不会每60秒更改一次类。

这是我的代码:

代码语言:javascript
复制
$(function() {
    function test() {
        $('#test1').switchClass('class1', 'class2', 1000);

        if($('#test1').hasClass('class1'))
        {
            $('#test1').switchClass('class2', 'class1', 1000);
        }
        else
        {
            $('#test1').switchClass('class1', 'class2', 1000);
        }
    }

    // run function
    test();

    // loop function
    setInterval(function() { test();}, 1000);

});

css代码:

代码语言:javascript
复制
.class1 {
    width: 400px;
    height: 200px;
    background: lightgray;
    transition: all 60s ease-out;
    -webkit-transition: all 60s ease;
    -moz-transition: all 60s ease;
    -o-transition: all 60s ease;
}

.class2 {
    width: 400px;
    height: 200px;
    background: orange;
    transition: all 60s ease-out;
    -webkit-transition: all 60s ease;
    -moz-transition: all 60s ease;
    -o-transition: all 60s ease;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-01 17:38:33

我不完全确定这是否是您所要求的,但是toggleClass支持禁用的类,反之亦然:

代码语言:javascript
复制
$(function() {
    function test() {
        $('#test1').toggleClass('class1 class2');
    }

    test();

    // loop function
    setInterval(test, 60000);
});

当然,您的转换速度必须与setInterval间隔时间相匹配。您的转换目前只需一分钟,但您正在每秒钟更换类。

更快的演示http://jsfiddle.net/7UsHV/

票数 5
EN

Stack Overflow用户

发布于 2013-08-01 17:41:29

setInterval和动画上的持续时间需要匹配。我把它们改为2秒,以便更容易看到:

http://jsfiddle.net/r6JV6/

代码语言:javascript
复制
setInterval(function() { 
    $('#test1').toggleClass('class1 class2'); 
}, 2000);

如果您真的只做背景颜色,那么执行递归jQuery动画可能会更简单。下面是一个使用switchClass()而不使用css转换的版本:

http://jsfiddle.net/B3xac/

代码语言:javascript
复制
function switchTheClass() {
    var removeClass, addClass;
    if ($('#test1').hasClass('class1')) {
        removeClass = 'class1';
        addClass = 'class2';
    } else {
        removeClass = 'class2';
        addClass = 'class1';
    }
    $('#test1').switchClass(removeClass, addClass, 2000, function () {
        switchTheClass();
    });
}

$(function () {

    switchTheClass();

});
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18000782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档