zoukankan      html  css  js  c++  java
  • js动画(三)

    咳咳咳咳,感冒了感冒了,鼻塞,蓝瘦啊!嘴巴也开裂,哎,心疼自己。想到这是第三只唇膏了!只怪,放荡不倔爱自由,

    行驶在冷风路上么,北风那个吹啊吹啊吹啊,好了,发神经发完了,接下来进入正题,严肃脸。(字数150应该凑够了。)

    js链式运动

    代码如下 :

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <style>
            #lia {
                 200px;
                height: 100px;
                background: red;
                opacity: 0.3;
            }
        </style>
        <script>
            window.onload = function() {
                var qwe = document.getElementById("lia");
                qwe.timer = null;
                qwe.opacity=30;<br>                        /*以下,就是控制代码*/
                qwe.onmouseover = function() {
                    onStart(qwe,"width",400,10,function(){/*这里控制,宽,目标值,速度,以及下一个动画*/
                        onStart(qwe,"height",300,10,function(){/*这里控制,长,目标值,速度,以及下一个动画*/<br>                                               onStart(qwe,"opacity",100,10);/*这里控制,透明度,目标值,速度,以及下一个动画,当然以上顺序可以换*/
    1
    }); <br>                                                    });<br>                         }<br><br>
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
        qwe.onmouseout = function() {/*这里不解释,跟上面一样*/
            onStart(qwe,"opacity",30,-10,function(){
                onStart(qwe,"height",100,-10,function(){
                    onStart(qwe,"width",200,-10);
                });
            });
        }
         
    }
     
    function getStyle(obj, attr) { /*obj对象,就是你要搞哪个元素,attr属性,你要搞哪个的属性*/
        if(obj.currentStyle) {
            return obj.currentStyle[attr]; /*.currentStyle针对IE*/
        else {
        return getComputedStyle(obj,false)[attr]; /* getComputedStyle针对firebox浏览器*/         }
    }                /*这个呢,是昨天的彩蛋,挺好用的,具体的功能就是,取对象的样式属性值,很好用*/
    function onStart(obj,attr, mu,speed,fn) {
        clearInterval(obj.timer);
        obj.timer = setInterval(function() {
            if(parseInt(getStyle(obj,"width")) == mu)
            {
                if(fn){
                    fn()   /*这里就是,关键,就是执行下一个,函数的功能,我在这里创建一个空函数,                                                  具体函数内容交给主函数来写,所以这个函数,再多传一个参数,来判断,                                                  是否需要执行下一个函数*/
                }
                else{
                    clearInterval(obj.timer);
                }
            }
            else if(parseInt(getStyle(obj,"height")) == mu)
            {
                if(fn){
                    fn()
                }
                else{
                    clearInterval(obj.timer);
                }
            }
            else if(obj.opacity == mu){
                     clearInterval(obj.timer);
                     if(fn){
                        fn();
                     }
                }
            else{
                if(attr == "opacity"){
                    obj.opacity+=speed;
                    obj.style.opacity = obj.opacity/100;
                }
                else if(attr == "width"){
                    obj.style.width = parseInt(getStyle(obj,"width"))+speed+"px";
                }
                else if(attr == "height"){
                    obj.style.height = parseInt(getStyle(obj,"height"))+speed+"px";
                }                                /*这里就是把三个功能给他合成在一个函数里,所以上述的fn(),执行的函数还是本身,只不过选择不同功能罢了                                                                    这里其实还可以优化,前面提到getStyle(),可以取到,对象的样式属性值,所以,可以把height和width整合起来。                                */
            }
        }, 30)
    }

    今天为什么把css的代码也放上来呢?

  • 相关阅读:
    php插入日期到mysql失败
    CSS Triangle Arrow DIVs tooltilps
    转:javascript对json操作讲解
    bulletproof ajax:ajax 载入时显示动画
    javascript 和ajax创建bookmarket
    css 文字换行
    MySQL数据库在指定位置增加字段
    javascript获取网页URL地址及参数等
    Microsoft JScript runtime error: 'Sys' is undefined 的解决方法
    DetailsView的简单使用
  • 原文地址:https://www.cnblogs.com/libin-1/p/6291345.html
Copyright © 2011-2022 走看看