首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Jquery动画循环问题

Jquery动画循环问题
EN

Stack Overflow用户
提问于 2011-01-14 16:05:18
回答 1查看 945关注 0票数 0

我正试图在一个循环中执行一个动画函数。我不得不计算出它的一次迭代,但我无法计算出如何将循环重复一次。下面是我的动画函数。请帮我弄清楚如何多次运行这个程序,甚至让它成为一个永无止境的循环。

代码语言:javascript
运行
复制
<script type="text/javascript">
$(document).ready(function(){
    var delay = 150;
    var times = 4;
    var i = 1;

    doMove = function() {
        if( i < times ){
            $('#lip').removeClass('lip'+i);
            $('#lip').addClass('lip'+(i+1));
        } else if ( i == times ) {
            $('#lip').removeClass('lip4');
            $('#lip').addClass('lip1');
        }

        ++i;
        if( i >= times ) {
            clearInterval( interval ) ;
        }
    }

    var interval = setInterval ( "doMove()", delay );


});
</script>

非常感谢。我是jquery的新手。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-14 16:19:35

您的脚本中的延迟非常短-因此,您可能没有看到更改的发生。试着改变

代码语言:javascript
运行
复制
var delay = 150;

代码语言:javascript
运行
复制
var delay = 1000; // 1 second

更新

啊-你想让它在完成时再次运行...下面是一个示例:

repeats =0将是无限循环,1将运行一次,2将运行两次,依此类推...

代码语言:javascript
运行
复制
var delay = 150;
var times = 4;
var repeats = 3;
var i = 1;
var j = 0;

doMove = function() {
    if( i < times ){
        $('#lip').removeClass('lip'+i);
        $('#lip').addClass('lip'+(i+1));
    } else if ( i == times ) {
        $('#lip').removeClass('lip4');
        $('#lip').addClass('lip1');
    }

    ++i;
    if( i >= times ) {
        if (j < repeats || repeats == 0) {
            i = 1;
        } else {
            clearInterval( interval ) ;
        }
    }
    ++j;
}

var interval = setInterval ( "doMove()", delay );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4689050

复制
相关文章

相似问题

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