美文网首页
【CSS帧动画】便捷实现方式

【CSS帧动画】便捷实现方式

作者: 笑妄v | 来源:发表于2017-03-03 09:43 被阅读0次

CSS帧动画简便实现

本文根据慕课网课程总结而成

JS+CSS3实现“粽情端午

1.获取DOM对象

var g =function(id){
        return document.getElementById(id);
    }

此后给元素设id如:

<div class="c_zongzi" id="c_zongzi"></div>

2.时间轴对象构造器

    var TimeLine = function(){
        this.order = [];//动画序列
        this.add= function(timeout,func,log){
            this.order.push({
                timeout:timeout,
                func:func,
                log:log
            })
        }
        this.start = function(ff){
            for(s in this.order){
                (function(me){
                    var fn=me.func;
                    var timeout=me.timeout;
                    var log =me.log;
                    Timeout = Math.max(timeout-ff,0);

                    setTimeout(fn,timeout);
                    setTimeout(function(){
                        console.log('time->',timeout,'log->',log);
                    })
                })(this.order[s]);
            }
        }
    }

初始化场景

    var s1 = new TimeLine();

3.设定的class制作动画

通过变换时间来控制帧动画

s1.add(1,function(){
        g('c_zongzi_box').className='c_zongzi_box';
        g('text').className='text text_in';
    })
    
s1.add(100,function(){
        //变换类名
    })
    
s2.add(3000,function(){
        s3.start();
        //第3秒时s3场景启动
    })
    
s3.add(5000,function(){
       s3.start();
       //循环s3场景
    });  

4.预加载图片

    var imgs=['img/zzr_2.png','img/zzr_3.png','img/zzr_4.png'];
    var imgs_onload = function(){
        imgs.pop();
        //删除最后的元素并返回
        //即先加载后面的图片
        if(imgs.length == 0){
            s1.start()
        //加载完成后开始动画    
        }
    }
    for(s in imgs){
        var img=new Image;
        img.onload = imgs_onload;
        img.src= imgs[s];
    }

5.轻度元素抖动

@keyframes rock{
        0%{transform:rorate(0deg)}
        10%{transfrom:rorate(3deg)}
        20%{transform:rorate(-3deg)}
        30%{transform:rotate(2deg)}
        40%{transform:rotate(-2deg)}
        50%{transform:rotate(1deg)}
        60%{transform:rotate(-1deg)}
        70%{transform:rotate(0deg)}
        100%{transform:rotate(0deg)}
}

相关文章

  • 【CSS帧动画】便捷实现方式

    CSS帧动画简便实现 本文根据慕课网课程总结而成 JS+CSS3实现“粽情端午 1.获取DOM对象 此后给元素设i...

  • CSS动画

    1.css动画实现的几种方式transitionkeyframes(animation)2.过渡动画和关键帧动画的...

  • UIImage 加载简易动画效果

    序列帧动画概念和序列帧动画实现 方式1: 方式2:

  • Android帧动画的实现

    帧动画就是图片的循环播放 实现帧动画有两种方式: 1.通过代码实现: //帧动画对象AnimationDrawab...

  • Days18 H5+Css3

    1.使用动画 (js实现动画,css3实现动画) 一个是帧动画 一个是补间动画 什么是帧动画:使用定时器 每隔一段...

  • 前端动效实现--lottie - web

    前端常用动效实现方式 CSS3 帧动画 CSS 发展到了今天,它的强大几乎不是我们可以想想到的。合理的使用Anim...

  • Android 动画机制

    一、Android的动画的分类:(实现方式有:xml资源文件方式,代码方式) 逐帧动画(Drawable An...

  • css动画

    css动画首先要明白动画是一帧一帧的,由多个帧拼起来的动画 @keyframes 此为动画样式中的关键帧,用关键帧...

  • Android动画三:使用 Transition 最简单方式实现

    在 android.view.animation.*包下有多种实现动画的方式,有逐帧动画、补间动画、属性动画,可以...

  • requestAnimationFrame 请求动画帧 一定懂

    requestAnimationFrame 在网页开发中实现动画实现动画的方式有下面几种。css中的 transi...

网友评论

      本文标题:【CSS帧动画】便捷实现方式

      本文链接:https://www.haomeiwen.com/subject/ofelgttx.html