我正试图在一个循环中执行一个动画函数。我不得不计算出它的一次迭代,但我无法计算出如何将循环重复一次。下面是我的动画函数。请帮我弄清楚如何多次运行这个程序,甚至让它成为一个永无止境的循环。
<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的新手。
发布于 2011-01-14 16:19:35
您的脚本中的延迟非常短-因此,您可能没有看到更改的发生。试着改变
var delay = 150;至
var delay = 1000; // 1 second更新
啊-你想让它在完成时再次运行...下面是一个示例:
repeats =0将是无限循环,1将运行一次,2将运行两次,依此类推...
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 );https://stackoverflow.com/questions/4689050
复制相似问题