封装运动函数

    xiaoxiao2021-03-25  151

    下面是运动的封装函数,第一个参数是要运动的对象,第二个参数是运动的属性和值,例如{left:500}。层级轮播图可写成startMove(aLi[i],{                       left:arr[i][0],                        top:arr[i][1],                        height:arr[i][2],                        opacity:arr[i][3],                        width:arr[i][5]             });

                aLi[i].style.zIndex=arr[i][4];

    二维数组里保存不同图片的各个参数

    function startMove(obj, json, fn){ clearInterval(obj.timer); obj.timer=setInterval(function (){ var bStop=true; //这一次运动就结束了——所有的值都到达了 for(var attr in json) { //1.取当前的值 var iCur=0; if(attr=='opacity') { iCur=parseInt(parseFloat(getStyle(obj, attr))*100); } else { iCur=parseInt(getStyle(obj, attr)); } //2.算速度 var iSpeed=(json[attr]-iCur)/8; iSpeed=iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed); //3.检测停止 if(iCur!=json[attr]) { bStop=false; } if(attr=='opacity') { obj.style.filter='alpha(opacity:'+(iCur+iSpeed)+')'; obj.style.opacity=(iCur+iSpeed)/100; } else { obj.style[attr]=iCur+iSpeed+'px'; } } if(bStop) { clearInterval(obj.timer); if(fn) { fn(); } } }, 30) }

    转载请注明原文地址: https://ju.6miu.com/read-6127.html

    最新回复(0)