首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何缩短我的动画?

如何缩短我的动画?
EN

Stack Overflow用户
提问于 2014-04-03 04:20:24
回答 2查看 49关注 0票数 0

我有以下jquery代码:

代码语言:javascript
复制
$('#swipe').on('click',function(){
    $('.swipe-1').animate({width:'100%'},1000);
    $('.swipe-2').delay(1000).animate({width:'100%'},1000);
    $('.swipe-3').delay(2000).animate({width:'100%'},1000);
    $('.swipe-4').delay(3000).animate({width:'100%'},1000);
    $('.swipe-5').delay(4000).animate({width:'100%'},1000);
    $('.swipe-6').delay(5000).animate({width:'100%'},1000);
    $('.swipe-7').delay(6000).animate({width:'100%'},1000);
});

我能缩短上面的代码吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-03 04:31:21

您可以使用像swipe这样的公共类,而不是创建7个不同的类:

代码语言:javascript
复制
$('#swipe').on('click',function(){
    $('.swipe').each(function(i,v){
        $(this).delay(i*1000).animate({width:'100%'},1000);
    });
});

延迟()在这里可能不起作用,因为没有动画的queue,所以setTimeout更好地使用

代码语言:javascript
复制
$('#swipe').on('click',function(){
    $('.swipe').each(function(i,v){
        var $this=$(this);
        setTimeout(function(){
            $this.animate({width:'100%'},1000);
        },(i*1000));
    });
});
票数 3
EN

Stack Overflow用户

发布于 2014-04-03 04:22:17

像这样?

代码语言:javascript
复制
$('#swipe').on('click',function(){
    for(var i=0;i<7;i++){
        $('.swipe-'+(i+1)).delay(i*1000).animate({width:'100%'},1000);
    }
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22827790

复制
相关文章

相似问题

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