欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

封装变速函数

程序员文章站 2024-03-17 11:51:22
...
 function getStyle(element,attr){
        return window.getComputedStyle ? window.getComputedStyle(element,null)[attr]:element.currentStyle[attr];
    }
  function biansu(element,json,fn) {
       clearInterval(element.timeId)
       element.setInterval(function () {
           var flag=true
           for (var attr in json){
               var current=parseInt(getStyle(element,attr))
               var target=json[attr];
               var step=(target-current)/10;
               step=step>0?Math.ceil(step):Math.floor(step);
               current+=step;
               element.style[attr]=current+"px";
               if (current!=target){
                   flag=false;
               }
           }
           if (flag){
               clearInterval(element.timeId);

               if (fn){
                   fn();
               }
           }
       },20)
   }