抖动

html
<img src="images/doudong.jpg" id="img" alt="" />
<img src="images/doudong.jpg" id="img1" alt="" />

 js

function getStyle ( obj, attr ) { return obj.currentStyle?obj.currentStyle[attr] : getComputedStyle( obj )[attr]; }
    var oimg=document.getElementById("img");
    var oimg1=document.getElementById("img1");
    // oimg.onclick=function(){   
    //     var _this=this;  
    //     shake(_this,'left',function(){
    //         shake(_this,'top') //匿名函数没人调用 如果此写this指的是window
    //     })
    // };
    function fnShake(){     
        var _this=this;  
        shake(_this,'left',function(){
            shake(_this,'top')
        })
    };
    oimg.onclick=fnShake;
    oimg1.onclick=fnShake;
    function shake(obj,attr,endFn){
        var pos=parseInt(getStyle(obj,attr));     
        var arr=[];
        for(i=20;i>0;i-=2){
            arr.push(i,-i);
            }
            arr.push(0);
            var num=0;
            //var timer=null;
            clearInterval(obj.shake);
            obj.shake=setInterval(function(){
                obj.style[attr]=pos+arr[num]+'px';
                num++;
                if(num===arr.length){
                    clearInterval(obj.shake);
                    endFn && endFn();
                }
            },50)
    }

css

  img{width: 200px;height: 200px;position: relative;left: 500px;}

  img1{width: 200px;height: 200px;position: relative;left: 600px;}

 

转载于:https://www.cnblogs.com/hilxj/p/10291231.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值